Alibaba Cloud ApsaraMQ for RocketMQ は、オープンソースの Apache RocketMQ と比較して、安定性やセキュリティがより高く、包括的な O&M システムを備えています。オープンソースの RocketMQ クラスターを ApsaraMQ for RocketMQ に移行することで、信頼性を向上させ、運用オーバーヘッドを削減できます。
製品比較
Alibaba Cloud ApsaraMQ for RocketMQ は、オープンソース RocketMQ と比較して、技術アーキテクチャ、弾力性、O&M、およびエンタープライズグレードの機能の点で大きな優位性があります。
|
項目 |
セルフマネージド Apache RocketMQ クラスター |
ApsaraMQ for RocketMQ 5.x シリーズ |
|
[ストレージの弾力性] |
リソースプールがなく、ストレージ・コンピューティング結合アーキテクチャを使用しています。 |
クラウドインフラストラクチャの大規模なリソースプールを活用し、ストレージ・コンピューティング分離アーキテクチャを使用しています。 |
|
[API と SDK のアクセス] |
Apache RocketMQ SDK をサポートしています。 |
|
|
[技術アーキテクチャ] |
|
|
|
[コンピューティングの弾力性] |
|
|
|
[運用保守の複雑さ] |
|
|
|
[安定性の保証] |
セルフマネージドの運用保守には、経験豊富な技術スタッフが必要です。 |
明確なサービスレベルアグリーメント (SLA) を提供します:
|
|
[エンタープライズグレードの機能] |
カスタム開発には経験豊富な技術スタッフが必要です。 |
エンドツーエンドのカナリアリリース、メッセージのルーティングとレプリケーション、抽出、変換、ロード (ETL)、イベントの統合と分析などの機能をすぐに利用できます。 |
|
[体系的な災害復旧] |
セルフマネージドの運用保守には、経験豊富な技術スタッフが必要です。 |
以下の体系的な災害復旧計画を提供します:
|
移行ソリューションの仕組み
基本要件
RocketMQ は、注文処理やオンライン決済などの主要なビジネスシナリオで広く使用されています。メッセージングサービスに依存する上流および下流システムには厳格な安定性要件があるため、RocketMQ クラスターは慎重に移行する必要があります。移行ソリューションは、次の要件を満たす必要があります:
-
サービスの中断なし
移行プロセスが上位のメッセージングアプリケーションに影響を与えず、多数のエラーや障害を引き起こさないようにする必要があります。
-
メッセージの大幅な重複なし
移行によって大量の重複メッセージが生成されないようにする必要があります。これにより、ビジネス側で移行に起因するシステム的なメッセージ重複を処理する必要がなくなります。
-
メッセージはリアルタイムで送受信される
移行中にエンドツーエンドのメッセージレイテンシーが大幅に増加しないようにする必要があります。これにより、メッセージ配信の失敗を防ぎます。
ソリューション設計
これらの移行要件を満たすために、ApsaraMQ for RocketMQ はスムーズで透過的な切り替えを促進する移行ツールを提供しています。このツールは、トピック、グループ、コンシューマーオフセットなどのメタデータとビジネスメッセージの両方を移行します。
-
メタデータの移行: ソースの自己管理型 RocketMQ クラスターからメタデータを読み取り、移行先の ApsaraMQ for RocketMQ クラスターにコピーして、メタデータを作成および同期します。
-
メッセージの移行: ApsaraMQ for RocketMQ は、組み込みのルーティング制御コンポーネントを使用して、バックグラウンドでトピックのルーティング情報をプロキシします。 このコンポーネントは、クライアントの読み取りおよび書き込みトラフィックの動的な切り替えを可能にし、サービスにとってプロセスをシームレスなものにします。

上の図に示すように、ソースクラスターのトピック A に 8 つの読み取りパーティションと 8 つの書き込みパーティションがあるとします。
データ移行タスクは、ソースクラスターと同じ数の読み取り/書き込みパーティションを持つトピック A をデスティネーションクラスターにも作成します。
メッセージ移行プロセスが開始されると、ApsaraMQ for RocketMQ ルーティング制御コンポーネントは、送信元クラスターと送信先クラスターの両方のトピックのルーティング情報を管理し、移行段階に基づいてクライアントに読み取りおよび書き込みパーティション情報を動的に返します。例:
-
デュアル読み取りシナリオ:コンポーネントは、ソースクラスターとデスティネーションクラスターの両方にある、合計 16 個すべての読み取りパーティションの情報を返します。
-
デスティネーションクラスターへの書き込み専用:コンポーネントは、デスティネーションクラスターの 8 つの書き込みパーティションのみを返します。
-
移行ソリューションのメリット
ApsaraMQ for RocketMQ クラウド移行ソリューションでは、Alibaba Cloud が開発した独自のメッセージルーティングメタデータプロキシコンポーネントを使用しています。このコンポーネントは、トピックレベルの粒度でメッセージルーティング、スケジューリング、トラフィックシフト制御をサポートしており、次のようなメリットがあります。
-
サービスの中断がなく、メッセージングへの影響を最小限に抑える
移行ソリューションはシームレスな切り替えに対応しています。トラフィックの切り替え中、メッセージングは中断されず、ビジネスアプリケーションに影響はありません。メッセージのレイテンシーや重複のリスクは非常に低いです。
-
追加リソース不要
アプリケーションをスケールアウトしたり、複数のクラスターにデプロイしたりする必要はありません。移行に必要なのは設定のローリングアップグレードのみで、追加のマシンリソースは不要です。
-
ビジネスへの影響が少なく、実装が容易
移行中は、アプリケーションのエンドポイント設定を変更して 1 回再起動するだけで済みます。その後のトラフィック切り替えは、ApsaraMQ for RocketMQ サーバーの動的設定によって自動的に処理されます。メッセージングの依存関係を整理することなく、アップストリームおよびダウンストリームのアプリケーションを個別にアップグレードできます。
-
カナリアリリースとロールバックをサポート
移行タスクはトピックレベルの粒度で動作します。特定のトピックに対してカナリアリリースを実行できます。移行中にビジネス上のリスクが発生した場合は、いつでもロールバックを実行できます。