目的

この記事ではイベント駆動の設計方式でタイムラインにポストを投稿する処理の実装内容を解説していきます。

前提

システム全体の技術構成

システム全体の技術構成

↓開発途中のアプリになります。

Create Next App

現在開発しているWebアプリでTwiterのようなポストを投稿できる機能があります。

ポストはコミュニティに対してポストを投稿できます。

ポストを閲覧する機能としては、

があります。

ポスト投稿に関するユースケース図

ポスト投稿に関するユースケース図

各TLの閲覧は、PostsテーブルからSQLで取得してくれば良いように思いますが、それではユーザが増加したときに毎回RDBに各ユーザからの問い合わせが殺到しサービスをスケースされることが難しくなってしまいます。特にTLは頻繁にアクセスされる場所でもあるのでそういったボトルネックになる場所は早いうちから潰しておきたいと考えました。

システム構成図