Apache RocketMQ


Apache_RocketMQ

RocketMQ は、低遅延、高パフォーマンスと信頼性、1兆レベルの容量、柔軟なスケーラビリティを備えた分散型メッセージングおよびストリーミングプラットフォームです。これは、2012年にAlibabaによってオープンソース化された第3世代の分散メッセージングミドルウェアです。2016年11月21日、AlibabaはRocketMQをApache SoftwareFoundationに寄贈しました。翌年の2月20日、Apache SoftwareFoundationはApacheRocketMQをトップレベルプロジェクトとして発表しました。 Apache RocketMQ 開発者
Apache Software Foundation
初回リリース
2012 ; 9年前 (2012)
安定リリース
4.5.2 / 2019年8月1日 ; 2年前  (2019-08-01)
リポジトリ
RocketMQリポジトリ
で書かれている Java オペレーティング・システム
クロスプラットフォーム
タイプ
ストリーム処理、メッセージブローカー
ライセンス
Apacheライセンス2.0
Webサイト
rocketmq .apache .org

コンテンツ
1 歴史2 特徴 3 建築
3.1 ネームサーバークラスター 3.2 ブローカークラスター 3.3 プロデューサークラスター 3.43.4 コンシューマークラスター
4 アプリケーション
5 コミュニティのメンテナンス
6 賞
7 も参照してください
8 参考文献
9 外部リンク

歴史
RocketMQの開発は、3つの段階に分けることができます。
第1世代では、データ転送にプッシュモードを使用し、データストレージにリレーショナルデータベースを使用します。メッセージ配信の待ち時間が短く、分散トランザクションを備えた一般的なEコマースプラットフォームのコマンドを満たしています。
第2世代では、データ転送にプルモードを使用し、データストレージにファイルシステムを使用します。安定性と信頼性にさらに注意を払い、応答時間とログ収集のKafkaで第1世代と同等のパフォーマンスを示しています。
第3世代は、プルモードといくつかのプッシュ操作を組み合わせたものです。これは、第1世代と第2世代の利点を継承し、同時実行性と大量のデータシナリオで高いパフォーマンスを示します。

特徴
さまざまなメッセージングソリューション間で多くの比較が行われ、トピックの数が劇的に増加すると、RocketMQのスループットがKafkaよりも大幅に低下することが広く知られています。高性能、高信頼性、高リアルタイム能力の特性により、MQTTなどのあらゆるタイプのメッセージングシナリオでRocketMQと他のプロトコルコンポーネントの組み合わせにますます努力が払われてきました。
クライアントSDK プロトコルと仕様 注文したメッセージ スケジュールされたメッセージ バッチメッセージ 同報メッセージ メッセージフィルター サーバーによってトリガーされる再配信
Java、C / C ++、Python、Go、Nodejs モデルをプルし、TCP、JMS、OpenMessagingをサポートします メッセージの厳密な順序を確認し、適切にスケールアウトできます サポートされています メッセージの損失を回避するための同期モードでサポートされています サポートされています SQL92に基づくサポートされているプロパティフィルター式 サポートされています
メッセージストレージ メッセージ遡及 メッセージの優先度 高可用性とフェイルオーバー メッセージトラック 構成
高性能で低遅延のファイルストレージ サポートされているタイムスタンプとオフセット2は サポートされていません サポートされているマスタースレーブモデル、別のキットなし サポートされています 箱から出して作業し、ユーザーはいくつかの構成に注意を払うだけで済みます

建築
image"
RocketMQは、ネームサーバー、ブローカー、プロデューサー、コンシューマーの4つの部分で構成されています。それらのそれぞれは、単一障害点なしで水平方向に拡張できます。左の画像に示すように。

ネームサーバークラスター
サービス検出用の軽量コンポーネントであり、ルーティング情報の読み取りと書き込みに使用できます。それぞれがグローバル情報を記録し、ストレージの高速拡張をサポートします。

ブローカークラスター
軽量のTOPICおよびQUEUEメカニズムを使用して、データストレージを管理します。フォールトトレランスを実現するために、データの2つのコピーまたは3つのコピーが提供されます。そして、クライアントはプッシュアンドプルモデルでメッセージを受け取ることができます。さらに、ディザスタリカバリと豊富なメトリック統計もサポートされています。

プロデューサークラスター
プロデューサーは分散展開でき、プロデューサーからブローカーへのメッセージはマルチパスを介してバランスを取ることができます。さらに、高速障害と低遅延がサポートされています。

コンシューマークラスター
コンシューマーは、プッシュアンドプルモデルで分散展開することもでき、メッセージをリアルタイムでサブスクライブし、クラスター単位でメッセージを消費することができます。メッセージブロードキャストもサポートされています。

アプリケーション
ApacheRocketMQが関連する可能性のある側面は少なくとも5つ
異種システムの統合;
アプリケーション間のデカップリング。
イベント駆動型メカニズムと複雑なイベントアーキテクチャモデルのバックボーン。
データ複製チャネル;
流量計算エンジンとの統合。
ストリームデータアクセス。

コミュニティのメンテナンス
RocketMQチームは、コミュニティを活発にするために多くのことを行いました。ミートアップ、ワークショップ、ApacheCon、コードマラソンは、北京、深セン、杭州で定期的に開催され、新しい貢献者やコミッターを引き付けています。OpenMessagingベンチマークスイートは現在RocketMQで利用可能であり、これによりRocketMQは分散メッセージングのグローバルスタンダードと歩調を合わせることができます。バージョン管理に関しては、一連の標準化されたソフトウェア開発プロセスが採用されています。最新バージョンは4.2.0で、4.3.0が進行中です。詳細については、こちらをご覧


2016年中国で最も人気のあるオープンソースソフトウェア賞
2017年中国で最も人気のあるオープンソースソフトウェア賞
第16回CJK(中国-日本-韓国)オープンソースソフトウェア優秀技術賞
2018中国で最も人気のあるオープンソースソフトウェア賞
2019中国で最も人気のあるオープンソースソフトウェア賞

も参照してくださいApache ActiveMQ pache Flink pache Qpid pache Samza
ApacheSparkストリーミング
データ配信サービス
エンタープライズ統合パターン
エンタープライズメッセージングシステム
ストリーミング分析
イベント駆動型SOA
メッセージ指向ミドルウェア
サービス指向アーキテクチャー StormMQ Apache Kafka

参考文献
^ “”apache / rocketmq””。GitHub 。
^ 「AlibabaからApacheへ:RocketMQの過去、現在、そして未来」。InfoQ 。
^ Liao、Jianwei; チワン族、シャオダン族; ファン、Renyi; 鵬、小寧(2017)。「オンライントランザクション処理アプリケーションの一般的な分散メッセージングフレームワークに向けて」。IEEEアクセス。5:18166〜18178。土井:10.1109 /ACCESS.2017.2717930。
^ クラウド、アリババ(2018-01-04)。「Kafkavs。RocketMQ-複数のトピックのストレステスト結果」。ミディアム。
^ ユエ、マ; 燕瑠璃; Jianwei、Sun; 開封、八尾(2017)。「RocketMQに基づくMQTTプロトコルメッセージプッシュサーバー」。2017年第10回インテリジェント計算技術と自動化に関する国際会議(ICICTA)。pp。295–298。土井:10.1109 /ICICTA.2017.72。ISBN  978-1-5386-1230-9。
^ 「OpenMessagingベンチマークフレームワーク」。openmessaging.cloud 。

外部リンク
ApacheRocketMQのWebサイト
ApacheRocketMQの外部
RocketMQに基づくMQTTプロトコルメッセージプッシュサーバー