私はアプリケーションのグローバル状態を維持するサーバーを持っています。システムのフル状態へのアクセスを維持している間にサブ/サブ。
クライアントはサーバーに接続し、グローバル状態(サーバーが情報をブロードキャストするためのパブリッシュ/サブスクライブメカニズム)の変更に関するメッセージを受け取ることができます。
しかし、起動時には、クライアントにはグローバル状態に関する情報が全くなく、必要な情報があります。私が望むのは、新しいクライアントがシステムに加入していることです。最初の通知メッセージは、アプリケーションの完全な状態です。クライアントがメッセージングシステム
- :それから、彼らは唯一、この状態に関する変更を受け取りますグローバル状態に関する変更のみを受け取ります
このアイデアは、新しいプレーヤーが最初にゲームの完全な状態を取得し、次にゲームの変更のみが送信されるマルチプレイヤーゲームに似ています。
ActiveMQやStompのようなメッセージングシステムは、私のニーズに適しています。マルチ言語であり、複数のトランスポートレイヤーで使用できるためです。しかし、完全状態を送信する(または最後の変更を一貫性のある方法で蓄積する)というこの概念はありません。
もちろん、私はこの状態を静的な方法で簡単に提供することができます(最初は完全な状態になり、次にパブリッシュ/サブスクライブシステムを購読します)。しかし、その間に起こりうる変更に注意する必要があります完全な状態を処理している間にいくつかの変更が失われますか?私が検索したばかりのグローバル状態では、この変更はすでに考慮されていますか?しかし、私はStompとActiveMQによって既に提供されているマルチ言語/マルチトランスポートの面を失います。
これを行うための既存のライブラリ/ツールはありますか? ActiveMQの拡張機能のいくつかの種類?ストンプと似た何か?それとも手作業で作る必要がありますか?
に基づいて古いものを無視ええ、それは私が、デフォルトではどうなるのかもあります。私は他のいくつかの日を待っています。 –
クール...誰かがよりクリーンなアプローチを知っていれば私は不思議です...良い質問 –