私はEvent Hubsについて学びましたが、Event Hubsについての私の見方について確認または修正したいだけですか?私は、Azure Service Busのキューとトピックから得られる通常のエンタープライズメッセージングソリューションの再試行、ポイズンメッセージ、少なくとも1回の配信などを活用することに慣れています。 Event Hubsは、非常に大規模な「エンタープライズ」機能を少し放棄する必要がある、非常に大規模な別のツールを提供することを目的としているようです。
私はこれについて正しく考えていますか?私も考慮する必要がある追加の詳細はありますか? Event HubsおよびTopicsと機能的に重複する可能性があることは承知していますが、Event Hubsの使用方法を明確にしたいだけです。
選択肢があれば、単一のイベントが消費されたことをマークしたり、メッセージを再試行したり、その他すべての素晴らしい機能をマークしたりできる、完全なエンタープライズpubsubメッセージングシステムをベースにしたシステムを書くのがほとんど常に簡単です。メッセージチャネルのパーティション分割(Azure Service Busトピックがサポートしているように見える)を既に受け入れている場合は、原則として、よりフル機能のメッセージングシステムを必要な程度にスケーリングできます。問題の費用はいくらですか?
Azure Service Busトピックのコストは、大規模な場合、およそ 100万ドルあたり0.2 メッセージ、Amazon SQS(やや似ている)リスト 100万ドルあたり0.5 です。自分でホストする場合は、パーティション分割時に多くのRabbitMQサーバーまたは複数のクラスターをセットアップする必要があります。
Azure Event Hubのコスト 100万ドルあたり0.028ドル プラススループットユニットあたりの量 同じ Amazon Kinesisの場合。 Apache Kafkaは、 ベンチマーク 3台のマシンで毎秒200万回)
たとえば、1秒あたり20,000イベントで、一部のAzureトピックとAzure Event Hubの違いは、フルタイムの開発者の給与の範囲内です。毎秒200万件が維持されているため(MSに連絡する必要があります)、その差は1か月あたり100万ドルに近づいています。
基本的に、フルメッセージングシステムの便利な機能をすべて必要としない場合、または10Xのプレミアムを支払うのに十分な機能が必要でない場合は、パーティション化されたストリーム/ログ/オフセット追跡システムを使用します。 (または、英雄的な努力なしには適切なメッセージングシステムを十分に拡張できないため、それらを使用することはできません)。
service Bus TeamのDanのサポートを受けて、このトピックについて少し前に投稿しました。うまくいけば、これはあなたのために明確にする必要があります
http://microsoftintegration.guru/2015/03/03/Azure-event-hubs-vs-Azure-messaging/
messagingの場合、1つのアプリケーションが1つ以上のアプリに「何かをする」または「何かを与える」ことを伝えます。
別の方法は、eventingでアプリケーションが何かが起きたと言っていることです。
正しい!!
EventHubsとトピックの基本的な違いは-TOPICSオファーメッセージごとのセマンティクス-一方、EventHubs-オファーStream Semantics -EventHubsでは_per-message
_機能/セマンティクスを期待しないでください。
_per-message
_機能を提供する中間層には、processing overhead (the tax)
!!が付属しています。
例:メッセージごとの重複検出、メッセージごとの受信確認(トピックにはMessage.Completeを受信するためのメッセージがあります)-すべてトピック機能です。 EventHubsは、機能セットを絞り込んで、より優れた低遅延/高スループットのソリューションを提供します。
At-least-once delivery(permsgのEventHubsでは使用不可)などの機能を視覚化するには、それをストリームセマンティクスに変換します-指定されたeventHubパーティションとチェックポイントのポイントまで読み取り、それらのイベントを処理するアプリケーションに処理させます_at-least-once
_配信。