1

分散リアルタイム システムのミドルウェアを探しています。要件は非常に単純です。永続的なストレージを使用してキー値ストアをパブリッシュ/サブスクライブします。

  1. パブリッシャーは、これらのトピックのサブスクライバーに配布されるトピックに「データ項目」をパブリッシュします。最新バージョンのみが関連するため、これらのデータ項目をキューに入れる必要はありません (株価を考えてください)。サブスクライバーがいない場合、データ項目は後で保持する必要があります (2 を参照) - 最新バージョンのみで、キューイングはありません。
  2. サブスクライバはいつでもオンラインになることができ、指定されたトピックからデータ項目の最新バージョンをすぐに受信し、更新が発生したときに更新を受信する必要があります。

このパターンを自然に実装するものはありますか? これまでに見た中で最も優れているのは Redis ですが、それぞれの側で 2 つの個別のトランザクションが必要です。パブリッシャーでの書き込み + パブリッシュ (およびサブスクライバーでのサブスクライブ + 取得) です。つまり、これは基本的なユース ケースではなく、更新を見逃さないという保証はありませんこれら 2 つの呼び出しの間に発生します。私が知っている商用製品の 1 つに Tibco ActiveSpaces がありますが、理想的にはオープン ソースと .NET、または少なくとも Windows ベースのものを探しています。

4

1 に答える 1

0

OMG の Data Distribution Service for Real-Time Systems (略して DDS) は、探していることを実行できるいくつかの実装を持つ標準です。

探している「永続データ」は、データのライフサイクルをライフサイクルより長く存続させたいかどうかに応じて、「transient」、「transient_local」、または「persistent」と呼ばれる正しいサービス品質設定を使用することで実現できます。そのソースの、またはシステム全体のライフサイクルさえ。

「最後の値」セマンティクスは、一般的なユースケースであり、デフォルトの動作ですが、DDS は必要に応じてそれ以上のものを格納できます。

より長い紹介については、このビデオをご覧ください。

于 2013-10-28T02:18:04.910 に答える