パブリッシュ/サブスクライブシステムを開発しようとしています。
この目的のために、私はそれに関するいくつかの論文や記事を読みました。そして、それらはすべて、パブリッシュ/サブスクライブシステムの不可欠な部分としてのメッセージングサービスについて話します。
私の質問は、JMSのようなMOMを使用せずにパブリッシュサブスクライブシステムを開発できますか?それとも私は物事を見逃しているのですか、それとも単純化しすぎていますか?
パブリッシュ/サブスクライブシステムを開発しようとしています。
この目的のために、私はそれに関するいくつかの論文や記事を読みました。そして、それらはすべて、パブリッシュ/サブスクライブシステムの不可欠な部分としてのメッセージングサービスについて話します。
私の質問は、JMSのようなMOMを使用せずにパブリッシュサブスクライブシステムを開発できますか?それとも私は物事を見逃しているのですか、それとも単純化しすぎていますか?
私はあなたが物事を単純化しすぎているとは思わない。大規模なMOMシステムの一部でなくても、パブリッシュ/サブスクライブに基づいた高度な機能を提供するスタンドアロン製品が利用可能です。
それらの1つは、Object Management Group(OMG)によって標準化された、Data Distribution Service(DDS)仕様を実装する製品のグループです。非常に簡単な紹介と参考文献のリストについては、このウィキペディアのエントリを確認してください。
DDSは、強い型のコンテンツ対応データバス、分散状態管理、履歴データアクセスなど、多くの高度なデータ管理機能をサポートしています。その豊富なサービス品質設定のセットにより、アプリケーションからミドルウェアに多くの複雑さをオフロードできます。これはすべて、パブリッシュ/サブスクライブパラダイムに基づいています。
アプリケーションについて詳しく教えていただければ、興味があれば、このテクノロジーを使用した同様のユースケースを紹介できるかもしれません。
それはあなたが「MOM」によって何を意味するかによります。MOM = JMSだと思うなら、そうです。JMSサーバーではないpub / subアプリケーションがたくさんあります(頭のてっぺんから):0MQ、TIBCO Rendezvous、そして周りの多くのAMQP実装。
私のMOMの定義は、あるシステムから別のシステムに非同期でメッセージを確実に取得するためのインフラストラクチャだと思います。Pub / subは、メッセージトランスポートに加えて、メッセージを他の複数のシステムに配信できるようにする機能です。ソケットを開いてその下にたくさんのバイトを詰め込むという点を超えたら、私はあなたがMOMの領域にいると主張します。
したがって、pub /subを実行するためにJMSは必要ありません。オープンソースとクローズドソースの選択肢はたくさんあります。どちらがあなたの要件とスキルに依存します。
multicast
あなたはそれが1対多のコミュニケーションを提供するのを見ることができます。マルチキャストにはMOMは必要ありませんが、代わりにマルチキャスト対応のIPネットワークが必要です。通常、ネットワークルーターは、メッセージのコピーの作成と宛先へのメッセージの配信を処理します。