クライアントにリアルタイム メッセージを配信する必要がありますが、クライアントのサーバーはプロキシの背後にあり、接続を初期化できません。webhook バリアントは機能しません。
次のことを考慮して、リアルタイム メッセージを配信する最善の方法は何ですか。
- プロキシの背後にあるクライアント
- クライアントは長時間オフになる可能性があり、すべてのメッセージを配信する必要があります
- PHP 開発者でも簡単に使用できるように、プロトコル/方法は十分に一般的でなければなりません。
私は3つのバリエーションを念頭に置いています:
- WebSocket - クライアントが Websocket 接続を開き、DB に保存されたメッセージを送信し、同時にリアルタイムでメッセージを受信します。
- RabbitMQ - すべてのメッセージは、耐久性のある永続的なキューに格納されます。パートナーがキューからしばらく読み取らない場合はどうなりますか?
- HTTP GET - パートナーはブロックごとにメッセージをプルします。このアプローチでは、最適なプル間隔を選択するのは困難です。
任意の提案をいただければ幸いです。ありがとう!