| 開発者 | Apache ソフトウェア財団 |
|---|---|
| 初回リリース | 2012年 |
| 安定リリース | 5.0.0 / 2022年9月9日[1] |
| リポジトリ | RocketMQ リポジトリ |
| 書かれた | ジャワ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | ストリーム処理、メッセージブローカー |
| ライセンス | Apache ライセンス 2.0 |
| Webサイト | ロケット |
RocketMQ [2]は、低遅延、高性能と信頼性、兆レベルの容量と柔軟なスケーラビリティを備えた分散メッセージングおよびストリーミングプラットフォームであり、 2012年にアリババがオープンソース化した第3世代の分散メッセージングミドルウェアです。 2016年11月21日、アリババはRocketMQをApacheソフトウェア財団に寄贈しました。翌年2月20日、Apacheソフトウェア財団はApache RocketMQをトップレベルプロジェクトとして発表しました。
歴史
RocketMQの開発は3つの段階に分けられます。[3]
第一世代は、データ転送にプッシュモードを使用し、データ保存にリレーショナルデータベースを使用します。メッセージ配信の遅延が少なく、分散トランザクションを備えた一般的な電子商取引プラットフォーム[4]のコマンドを満たしています。
第 2 世代では、データ転送にプル モードを使用し、データ保存にファイル システムを使用します。安定性と信頼性にさらに重点を置き、応答時間では第 1 世代と同等のパフォーマンスを示し、ログ収集では Kafka と同等のパフォーマンスを示します。
第 3 世代では、プル モードと一部のプッシュ操作が組み合わされています。第 1 世代と第 2 世代の利点を継承し、同時実行と大量のデータ シナリオで高いパフォーマンスを発揮します。
特徴
さまざまなメッセージングソリューション間で多くの比較が行われており、トピックの数が大幅に増加した場合、RocketMQのスループットの低下はKafkaよりもはるかに少ないことが広く知られています。[5]高性能、高信頼性、高リアルタイム性という特性のため、MQTTなどのあらゆる種類のメッセージングシナリオでRocketMQと他のプロトコルコンポーネントを組み合わせるための取り組みがますます増えています。[6]
建築

RocketMQ は、ネーム サーバー、ブローカー、プロデューサー、コンシューマーの 4 つの部分で構成されています。それぞれは、単一障害点なしで水平に拡張できます。左の画像を参照してください。
ネームサーバー クラスター
サービス検出用の軽量コンポーネントで、ルーティング情報の読み取りと書き込みに使用できます。それぞれがグローバル情報を記録し、高速なストレージ拡張をサポートします。
ブローカー クラスター
軽量の TOPIC および QUEUE メカニズムを使用してデータ ストレージを管理します。フォールト トレランスを実現するために、データのコピーが 2 つまたは 3 つ提供されます。また、クライアントはプッシュ モデルとプル モデルでメッセージを取得できます。さらに、災害復旧と豊富なメトリック統計もサポートされています。
プロデューサークラスター
プロデューサーは分散して展開でき、プロデューサーからブローカーへのメッセージはマルチパスを通じてバランスをとることができます。さらに、高速障害と低レイテンシがサポートされています。
消費者クラスター
コンシューマーはプッシュおよびプル モデルで分散展開することもでき、メッセージをリアルタイムでサブスクライブしたり、クラスター単位でメッセージを消費したりできます。メッセージのブロードキャストもサポートされています。
アプリケーション
Apache RocketMQ が関連する可能性のある側面は少なくとも 5 つあります。
- 異種システムの統合。
- アプリケーション間の分離。
- イベント駆動メカニズムと複合イベントアーキテクチャモデルのバックボーン。
- データ複製チャネル。
- フロー計算エンジンとの統合。
- ストリームデータアクセス。
コミュニティの維持
RocketMQ チームはコミュニティを活発に保つために多くのことをしてきました。新しい貢献者やコミッターを引き付けるために、北京、深圳、杭州でミートアップ、ワークショップ、ApacheCon、コードマラソンが定期的に開催されています。現在、RocketMQ では OpenMessaging ベンチマーク スイートが利用可能で、RocketMQ が分散メッセージングのグローバル スタンダードに遅れを取らないようにしています。[7]バージョン管理に関しては、一連の標準化されたソフトウェア開発プロセスが採用されています。最新バージョンは 4.2.0 で、4.3.0 が間もなくリリースされます。詳細については、こちらをご覧ください。
受賞歴
2016年中国で最も人気のあるオープンソースソフトウェア賞 2018年6月19日アーカイブ、Wayback Machine
2017年中国で最も人気のあるオープンソースソフトウェア賞 2018年6月19日アーカイブ、Wayback Machineより
第16回CJK(中国・日本・韓国)オープンソースソフトウェア優秀技術賞
2018年中国で最も人気のあるオープンソースソフトウェア賞 2019年1月2日Wayback Machineにアーカイブ
2019年中国で最も人気のあるオープンソースソフトウェア賞
参照
参考文献
- ^ 「リリースノート - Apache RocketMQ - バージョン 5.0.0」。2022年9月9日。 2022年9月27日閲覧。
- ^ "apache/rocketmq". GitHub . 2018年5月25日閲覧。
- ^ 「Alibaba から Apache へ: RocketMQ の過去、現在、そして未来」。InfoQ。2018年 6 月 26 日閲覧。
- ^ Liao, Jianwei; Zhuang, Xiaodan; Fan, Renyi; Peng, Xiaoning (2017). 「オンライントランザクション処理アプリケーション向けの汎用分散メッセージングフレームワークに向けて」. IEEE Access . 5 : 18166–18178. Bibcode :2017IEEEA...518166L. doi : 10.1109/ACCESS.2017.2717930 .
- ^ Cloud、Alibaba (2018-01-04)。「Kafka vs. RocketMQ - 複数トピックのストレステスト結果」。Medium 。2018年7月8日閲覧。
- ^ Yue, Ma; Ruiyang, Yan; Jianwei, Sun; Kaifeng, Yao (2017). 「RocketMQ に基づく MQTT プロトコル メッセージ プッシュ サーバー」。2017第 10 回国際インテリジェント コンピューティング テクノロジーおよびオートメーション カンファレンス (ICICTA)。pp. 295–298。doi : 10.1109 / ICICTA.2017.72。ISBN 978-1-5386-1230-9.S2CID 28825800 。
- ^ 「OpenMessaging ベンチマーク フレームワーク」。openmessaging.cloud。2018年 7 月 8 日閲覧。
外部リンク
- Apache RocketMQ ウェブサイト
- Apache RocketMQ 外部
- RocketMQ をベースにした MQTT プロトコル メッセージ プッシュ サーバー
