エンタープライズレベルのアプリケーションでは、Azure Service BusとRabbitMQ(Azureにデプロイ)を決定する必要があり、主な用途はトピック(耐久性のあるストレージ)です。サービスバスには、RabbitMQと比較して、リトライカウント、TTL、セッション、トランザクションなどの機能がありますが、高可用性、スケーラビリティ、ストレージ、スループットに最適なものはわかりません。サービスバスには、ストアサイズ(非パーティションキューで最大5 GB、パーティションキューで80 GB)と2000 msgs/sec/queueのスループットに関する制限があります。サービスバスの場合にこれらの制限を超える必要がある場合はどうすればよいですか?
RabbitMQの制限はクラスターに依存するため明確ではありません。誰が私の場合にどれが最高かを決めるのに私を助けることができれば?
しかし、あなたの質問はずっと前に聞かれました、私はまだ訪問している人々を見ます。私は2つの有用なソースを見つけました:
(1)ここに、Service Busを比較する包括的な(ただし古い)記事があります)からRabbitMQ:
http://geekswithblogs.net/michaelstephenson/archive/2012/08/12/150399.aspx
上記()の要約:
(2)この答えを見ることも少し役立つかもしれません:
https://dba.stackexchange.com/questions/196770/sql-server-service-broker-vs-rabbitmq
彼は、彼がここで彼自身の経験に基づいてポイントを述べたと思います:
デキュー後のデータの処理は、データベースまたは外部プロセスで行われますか? (a)外部プロセス-> RMQ。 (b)別のデータベース-> SSB。ただし、その特異性のため、代わりにpub-sub SQLCLRアセンブリの作成を検討する場合があります。このアセンブリは、テーブルからデータを非同期に読み取り、処理のために他のデータベースに送信します(これは私が作業している場所でも行いました)。
SSBが提供する二重機能が必要ですか? SSBがメッセージブローカーになることを意図したものではないことを忘れないでください。デュプレックス機能が必要な場合、SSBは(ほぼ)与えられます。
お役に立てれば。