suibari / hirogaru-bluesky

Web application to visualize Bluesky's connection with the others.
https://hirogaru-bluesky.vercel.app
MIT License
7 stars 0 forks source link

相関図生成高速化 #42

Closed suibari closed 2 months ago

suibari commented 7 months ago

相関図生成(正確には情報を集めてくる時間)時間を軽減したい インメモリDBはflyioではRAM容量上厳しいためPostgresを使用する

ユーザのGenerate時、以下を行う ・DBにレコードがなければ(初回アクセス時)、普通にAPIアクセスした後、クライアントに返しつつDBにインサート。その後別プロセスを立てて周辺ユーザ全員をDBにインサートorアップデート ・DBにレコードがあれば、クライアントにはそれを通知しておき、そのユーザをアップデート。アップデート完了したらそれをクライアントに通知する

suibari commented 7 months ago

レコードがある場合はサーバが主体となってデータ送信を行うのでWebsocketが必要 サーバはWebsocketを常に空けておく クライアントはサーバから更新中のレスポンスが来たら以下をする ・受け取ったElementsをまず表示 ・Websocketコネクト サーバはデータUPDATEが完了したらElementsをsendする クライアントはWebsocketのonmessageでデータを受け取り、「〜のデータが更新できました」のsnackbarを表示する snackbarが押されたら相関図を更新する

suibari commented 7 months ago

DBサイズが懸念だが、500Byte×100万人分でも500MBなのでいけると信じる flyioのPostgresは1GB

suibari commented 2 months ago

Vercel KVでv0.5で実装完了