tech-creative-club / disaster-posts

MIT License
123 stars 6 forks source link

技術選定 #2

Open tecsoc opened 10 months ago

tecsoc commented 10 months ago

フロントは慣れている人が多そうなのでNext.jsで行きたい。 DBは未定。 バックエンドはもうNext.jsで良いのでは ホスティングはオートスケールしたくて慣れている人が多そうでいうとAWSかな

suguru-toyohara commented 10 months ago

色々方法はあるが、決まってる要求としては以下のようです。

基本要求

議論としては

以上があるかなと思います。

suguru-toyohara commented 10 months ago

アクセスに関しては量が増えたらスポンサーつくので大丈夫かなと (逆に言えばそれがないと無理そう)

suguru-toyohara commented 10 months ago

これに関しては、元から作りたかったのもあるから。でいいかもしれない。 (イーロンのものになってしまった以上、どうにもできないというのもあると書いている私も思う)

ikisuke commented 10 months ago
tecsoc commented 10 months ago

SupabaseはならバックエンドとDBがセットで、お金もそんなにかからなそうで良いかも。

suguru-toyohara commented 10 months ago

もし、仮に統計を取るタイプの要件に決まれば DBはDynamoが良いかもしれない。 それが無理ならRedis+RabbitMQという手もある 少なくともpostgresqlなどのリッチなRDBMSは不要。オーバーエンジニアリングだと思われる。

zozonteq commented 10 months ago

初めまして、ホスティングリージョンについてです。

今回の震災でndigoGPUというVPSが影響を受けてしまい、しばらく利用できないとWebArenaから公式発表がありました。 https://help.arena.ne.jp/hc/ja/articles/20238632102039--IndigoGPU-%E7%9F%B3%E5%B7%9D%E7%9C%8C%E3%81%A7%E7%99%BA%E7%94%9F%E3%81%97%E3%81%9F%E5%9C%B0%E9%9C%87%E3%81%AB%E4%BC%B4%E3%81%86%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%B8%E3%81%AE%E5%BD%B1%E9%9F%BF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

例えば東京リージョンでサーバーをホストしたとします。 そこで、震災により東京が被害を受けてしまうと、サーバーの復旧が困難になりサービスがうまく機能しなかった。 なんてことが起こる可能性も十分考えられます。

そのため海外にサーバーを用意したり、国内でホストするのであれば各地域に分散するべきだと思います。

mh35 commented 10 months ago

AWSでやるのであれば、シンプルなQuery, Scanで取得する要件がほとんどであるという前提であればDynamoDBがベストかと思います 一方、それにとどまらない、検索機能などをつけるなどを考慮した場合、DynamoDBではすぐに限界が来ます 逆に、検索機能がメインであり、多少パフォーマンスを犠牲にしてよいのであれば、OpenSearchなどを導入するのもありです RDSやAuroraなどの、RDBMSを導入すべき場合というのは、トランザクションにより確実に複数のデータを整合をとって保存するなどの要件がある場合です

今回であれば、ユーザーデータは外部データ(AWSであればAmazon Cognitoでよいでしょう)として保存することを踏まえれば、ほとんどデータの書き込みは単一データに限定されます なので、RDBMSの導入は必要ない可能性が高いと思います

mh35 commented 10 months ago

簡易的に、AWSでやる場合の構成図を起こしてみました

https://drive.google.com/file/d/145HiWoz_J7ttsWwdVLMkPfvs4hkMl-ex/view?usp=sharing

kei95 commented 10 months ago

横から失礼します。将来的にモバイルアプリでの公開は予定されていますか?現在ロードマップには無いと思いますが、もし可能性があるのであればBFF等のパターンが取れる様にNext.js内で全て完結させない方がいいかもしれません

tecsoc commented 10 months ago

そのため海外にサーバーを用意したり、国内でホストするのであれば各地域に分散するべきだと思います。

ロードバランサーを使って複数リージョンで冗長化かするつもりではありました

acsses commented 10 months ago

初めまして

「Alt Twitterを作る意味」についてですが、今回の地震で住所と共に「助けてほしい」旨の投稿がTwitter上で見られました。また同様のスパムtweetも数多く見られました。これは大変迷惑であるとともに、命に関わる事態であるにもかかわらず、必要な情報の判断が非常に困難な形となりました。

そこで、本当に必要な情報を適宜認証する仕組みが必要であるように考えられます。

この仕組みは既存のAlt Twitterにはなく、このdisaster-postsで実装すべき機能と考えます。

長くなりましたがいかがでしょうか?

tecsoc commented 10 months ago

@acsses ありがとうございます。 こちらのIssueは技術選定に関わるものとなっているためスコープ外かと思います。 これまで話した内容については、あらかたこの辺りにまとまっていたりします。 https://github.com/tech-creative-club/disaster-posts/discussions/8

もし、必要な機能に関する議論を集中して行いたい場合は Discussionのスレッドを立てても良いかもしれません。

acsses commented 10 months ago

ありがとうございます。 そうですね、Discussionの方を少し覗いてみます。