通知系はほとんどの場合、ロングポーリングで事足りる
#メッセージング #キャッシュ管理
from マイクロフロントエンドとキャッシュを前提としたCQSアーキテクチャを考える
@yontengoP: Webシステム上で
AさんからBさんメッセージを送った場合、リアルタイムにBさん側に「✉メッセージ!」を表示するのって
低スキルおじさん的には
✅メッセージをDBに格納
✅Bさんから1秒おきとかにDBにSELECT投げて
✅自分宛てのがあったら通知
って実装が手っ取り早いと思ってんだけど
別案ある…?
@voluntas: WebSocket か SSE か ロングポーリング が無難だと思う。保存と通知は別実装にすべき。
@voluntas: ほとんどの場合はロングポーリングで事足りるって事なんだろうな。
@voluntas: ロングポーリングって言い方悪かったな、いにしえの Comet だと通知向け、ライブチャットとかは無理に WebSocket ではなく HTTP/2 Stream とか使う方が無難だとおもう。
@voluntas: まとめると WebSocket は最終手段くらいで、可能な限りは使わない方がいい(サーバーサイドの実装が完全に WebSocket 専用になってしまう) 。ブラウザのストリーミングは Stream API を使い、通知はロングポーリングで充分。というのが自分の認識です。WebRTC は論外。
リアルタイム通信(WebRTC)