分散リアルタイム システムのミドルウェアを探しています。要件は非常に単純です。永続的なストレージを使用してキー値ストアをパブリッシュ/サブスクライブします。
- パブリッシャーは、これらのトピックのサブスクライバーに配布されるトピックに「データ項目」をパブリッシュします。最新バージョンのみが関連するため、これらのデータ項目をキューに入れる必要はありません (株価を考えてください)。サブスクライバーがいない場合、データ項目は後で保持する必要があります (2 を参照) - 最新バージョンのみで、キューイングはありません。
- サブスクライバはいつでもオンラインになることができ、指定されたトピックからデータ項目の最新バージョンをすぐに受信し、更新が発生したときに更新を受信する必要があります。
このパターンを自然に実装するものはありますか? これまでに見た中で最も優れているのは Redis ですが、それぞれの側で 2 つの個別のトランザクションが必要です。パブリッシャーでの書き込み + パブリッシュ (およびサブスクライバーでのサブスクライブ + 取得) です。つまり、これは基本的なユース ケースではなく、更新を見逃さないという保証はありませんこれら 2 つの呼び出しの間に発生します。私が知っている商用製品の 1 つに Tibco ActiveSpaces がありますが、理想的にはオープン ソースと .NET、または少なくとも Windows ベースのものを探しています。