これら 2 つのテクノロジの主な違いは何ですか? 一方には他方よりも明らかな利点がありますか?
3 に答える
RV はラジオ放送局のようなもので、EMS は電話のようなものです。
街中の全員にメッセージ (たとえば、今日の天気予報) を送信する場合は、1 つのメッセージが全員に同時に送信されるため、ラジオが適しています。電話は、全員に電話をかけるのに時間がかかり、1 回の通話に 20 セントを支払うため、良くありません。
クレジット カード番号を誰かに伝えたい場合は、正しい相手と話していることを確認できるので、電話を使用します。ラジオが悪いのは、街中の誰もがあなたのクレジット カード番号を知っているからです。
RV は信頼性の高いマルチキャスト プロトコルを使用するため、多数のトレーディング デスクに株式ティックを送信するなど、高速でファンアウトの大きいメッセージング機能をサポートします (当初の設計目的)。ただし、トレードオフは、セキュリティが貧弱であり、管理が制限されることです。複数の LAN セグメントまたは WAN にまたがる通信には、特別な考慮事項もあります。
EMS は、電話のようにポイント ツー ポイント方式で通信する JMS プロバイダーです。セキュリティが向上し、管理タスクが容易になります。EMS はサーバー ベースであるため (RV のピアツーピア アーキテクチャとは対照的)、ストア アンド フォワード タイプのアクティビティは RV よりも簡単です。
2 つを組み合わせて、両方の長所を活かすことができます。最近のバージョンの EMS にはトピックのマルチキャスト機能があると思いますが、私はそれを使用していません。
上記の回答に基づいて構築するには:
- メッセージの持続性が必要な場合は、EMS を使用してください。
- EMS は JMS に基づいていますが、RV プロトコルと API は独自のものです。
- EMS は、標準プロトコル (JMS)、TCP をサポートするブローカーです。
- RV は、ZeroMQ やおそらく Akka のように、低レイテンシーに重点を置いています。
- TCP 経由のポイントツーポイントまたは
- UDP 経由のポイントツーポイントまたは
- UDP を介したマルチキャスト
- サーバーごとにライセンス
- メッセージはトピック経由で送信されます
- 新しいトピックからデータを受信するために特定のルーティング ルールや明示的なサブスクリプションを必要としない、ワイルドカード (*) セグメントを含むトピックをサポートします
- Tibco が 29West を買収した後、RV は 29West の低遅延メッセージ バス/ブローカーから進化したようです
低遅延メッセージング (29West および/または Rendezous/RV) のファンには、ZeroMQ (aka 0MQ
) または Akka を検討することをお勧めします。私は実際にそれを本番環境に置いたことはありませんが、0MQ
非常に高速なプロトタイプを作成しました。彼らの新しいサーバー製品 (2018 年の新機能) は興味深いものです。
API ノート
- RV で、新しい/保証された一意のトピックを作成するには、次を使用します。
CreateInbox()