私は、単一のサーバーに対してユーザーのデスクトップで複数の GUI クライアントを実行するプロジェクトに取り組んでいます。クライアントはグローバルに分散され、WAN 経由で接続されます。
GUI 自体のリリース パッケージとは別に、クライアント PC で実行されているアプリケーションに依存関係がないことを確認したいと考えています。トランスポート自体は信頼できるものでなければなりません (メッセージがドロップされず、未確認のメッセージが再生されます)。
私は、アプリケーション用のカスタム TCP ソケット ベースのトランスポートを作成し、ドロップされたメッセージや未確認のメッセージを検出するロジックを実装することを考えました。
ActiveMQ (TCP/IP トランスポート経由で JMS を使用) の使用も検討しています。他の代替案や提案はありますか?
編集: TCP は信頼できるトランスポートですが、クライアントが切断または再起動した場合にドロップされた可能性のあるメッセージを検出して再生する必要があります。