すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:概要

最終更新日:Jul 09, 2024

オープンソースのApache RocketMQと比較して、Alibaba Cloud ApsaraMQ for RocketMQはより安定しており、より包括的なO&Mシステムを提供します。 Apache RocketMQクラスターをApsaraMQ for RocketMQインスタンスに移行して、サービスエクスペリエンスを向上させることができます。 このトピックでは、ApsaraMQ forRocketMQが提供する移行ソリューションと、移行ソリューションの動作メカニズムについて説明します。

Apache RocketMQとApsaraMQ forRocketMQの比較

Apache RocketMQと比較して、ApsaraMQ for RocketMQには、技術アーキテクチャ、スケーラビリティ、O&M、およびエンタープライズレベルの機能の点で利点があります。 次の表は、Apache RocketMQとApsaraMQ forRocketMQの比較です。

項目自己管理型Apache RocketMQクラスターApsaraMQ for RocketMQ 5.xインスタンス
ストレージスケーラビリティリソースプールは提供されません。 結合されたストレージ・コンピューティング・アーキテクチャが使用される。 大規模なリソースプールは、Alibaba cloudのクラウドインフラストラクチャに基づいて提供されます。 ストレージはコンピューティングから切り離されています。
APIおよびSDKアクセスApache RocketMQ SDKがサポートされています。
  • Apache RocketMQ SDKがサポートされています。
  • Alibaba Cloud ONS SDKがサポートされています。
技術アーキテクチャ
  • この技術は、ローカルディスクを使用して実装されます。
  • ストレージはスケーリングできません。 ストレージ容量が不足している場合は、事前にデータをクリアします。
  • 複数のレプリカはストレージコストが高くなります。
  • このテクノロジーは、サーバーレスクラウドストレージを使用して実装されています。
  • ストレージスペースは、ビジネス要件に基づいて使用できます。
  • ストレージ料金は、従量課金に基づいて計算されます。 ApsaraMQ forRocketMQインスタンスとApache RocketMQクラスターのレプリカ数が同じ場合、ApsaraMQ forRocketMQインスタンスのコストはApache RocketMQクラスターのコストの3分の1にすぎません。
Computing scalability
  • マシンの数は、クラスターの使用状況に基づいて計画されます。
  • 事前にコンピューティングリソースを予約する必要があります。 コンピューティングリソースをスケールインすることは困難である。
  • スケーリング速度の制限によりバーストトラフィックが必要なシナリオでは、コンピューティングスケーラビリティはサポートされません。
  • コンピューティングリソースは、Alibaba Cloudが提供するリソースプールに基づいてスケーラブルです。
  • 計画されたスケーリング: ビジネス要件に基づいて、インスタンスのエディションをアップグレードまたはダウングレードできます。 アップグレードまたはダウングレードは数分で有効になります。
  • 計画外スケーリング: 1秒あたりのエラスティックトランザクション (TPS) 機能が提供されます。 この機能では、仕様の制限を超えた場合に特定の量のTPSを使用できます。 これにより、まれなバーストトラフィックを処理するために大きな仕様を予約する必要がないため、コストを節約できます。
O&Mの複雑さ
  • O&Mはコマンドを実行することによって実行されるため、コストとリスクが高くなります。
  • 可観測性および監視システムは提供されない。
  • 完全マネージド型のサービスとしてのプラットフォーム (PaaS) を使用すると、マシンを使用せずにリソースをデプロイ、運用、および管理できます。
  • サービスはすぐに使用できるように提供されます。 このサービスは、ダッシュボード診断、トレース、モニタリング、アラートなどの機能をサポートしています。
安定性保証O&Mはユーザーによって実行され、上級技術サポート担当者の支援が必要です。 サービス能力が保証されるサービスレベル契約 (SLA) が提供される。
  • データの信頼性: 10までnines。
  • サービスの可用性: 最大99.99% 。
エンタープライズレベルの機能エンタープライズレベルの機能はユーザーによって開発され、上級技術サポート担当者の支援が必要です。 このサービスはすぐに使用でき、エンドツーエンドのカナリアリリース、メッセージルーティング、メッセージレプリケーション、抽出、変換、ロード (ETL) 、イベント統合、イベント分析などの機能を提供します。
体系的なディザスタリカバリO&Mはユーザーによって実行され、上級技術サポート担当者の支援が必要です。 以下のディザスタリカバリソリューションが提供されます。
  • ゾーンアクティブ-アクティブ
  • ジオディザスタリカバリ
  • リモートアクティブ-active

働くメカニズム

基本要件

ほとんどの場合、Apache RocketMQは注文やオンライン決済などのコアシステムで使用されます。 メッセージングサービスのアップストリームおよびダウンストリームアプリケーションは、これらのサービスの安定性に対する高い要件を有する。 Apache RocketMQクラスターを移行および交換するときは、必要な予防措置を講じることを推奨します。 次の項目では、移行ソリューションを設計するための基本要件について説明します。
  • 中断のないメッセージングサービス

    上位層のメッセージングアプリケーションが影響を受けないこと、および移行中に多数のエラーや障害が報告されないことを確認してください。

  • 大量の重複メッセージがない

    移行中に重複するメッセージが多数存在しないことを確認してください。 このように、ユーザは、システム内で重複したメッセージを処理する必要がない。

  • メッセージングで顕著な待ち時間がない

    移行中に、エンドツーエンドのメッセージング遅延に顕著な変化が発生しないようにしてください。 これにより、移行中でもメッセージを受信できます。

ソリューション設計

前述の移行要件を満たすために、ApsaraMQ for RocketMQは、ビジネスに影響を与えることなく、自己管理型Apache RocketMQクラスターをApsaraMQ forRocketMQインスタンスに効率的に移行できる移行ツールを提供しています。 このツールを使用して、トピック、グループ、消費の進行状況などのメッセージとメタデータを移行できます。

  • メタデータの移行: 移行ツールは、自己管理型Apache RocketMQクラスターのメタデータを読み取り、そのメタデータをApsaraMQ for RocketMQインスタンスにコピーします。 このようにして、メタデータが作成され、同期される。
  • メッセージの移行: 移行ツールは、バックエンドでトピックに関するルーティング情報を制御し、ApsaraMQ for RocketMQの組み込みルーティング制御コンポーネントを使用して、クライアントの読み取りトラフィックと書き込みトラフィックを動的に切り替えることができます。 トラフィックの切り替えはビジネスには影響しません。 Message migration

    前の図のソースクラスタのトピックAに、8つの読み取りパーティションと8つの書き込みパーティションがあるとします。

    メタデータ移行タスクを作成すると、トピックaという名前のトピックもターゲットインスタンスに作成されます。 ターゲットインスタンスのトピックAには、ソースクラスターのトピックAと同じ数の読み取りパーティションと書き込みパーティションがあります。

    メッセージの移行中、ApsaraMQ for RocketMQのルーティング制御コンポーネントは、移行元クラスターと移行先インスタンスに関するルーティング情報を制御し、移行ステージに基づいてパーティションに関する読み取りおよび書き込み情報をクライアントに返します。 例:
    • ソースクラスターと宛先インスタンスの読み取り操作: このシナリオでは、ソースクラスターと宛先インスタンスの16の読み取りパーティションに関する情報が返されます。
    • 宛先クラスターの書き込み専用操作: 宛先クラスターの8つの書き込みパーティションに関する情報が返されます。

メリット

ApsaraMQ for RocketMQが提供する移行ソリューションは、メッセージをルーティングするためのメタデータプロキシコンポーネントに基づいて実装されています。 このコンポーネントはAlibaba Cloudによって開発され、トピック固有のメッセージルーティング、メッセージングスケジューリング、およびトラフィックスイッチ管理をサポートします。 移行ソリューションには、次の利点があります。

  • 中断のないメッセージングサービス

    移行ソリューションは、ビジネスに影響を与えずにトラフィックの切り替えをサポートします。 トラフィック切り替え中に、メッセージを送受信することができる。 まれに、メッセージの遅延と重複が発生します。

  • 追加のリソースは必要ありません

    クラスターをスケールアウトしたり、複数のクラスターをデプロイしたりする必要はありません。 更新または変更を実行するためにパラメータを設定するだけで済みます。

  • ビジネスへの影響が非常に少なく、実装が容易

    アプリケーションのエンドポイントを手動で変更し、アプリケーションを1回再起動するだけです。 後続のトラフィックスイッチは、ApsaraMQ for RocketMQブローカーの動的設定に基づいて有効になります。 メッセージングの依存関係を整理することなく、メッセージングサービスのアップストリームおよびダウンストリームアプリケーションをアップグレードできます。 この操作は、ビジネスへの影響が非常に少ないです。 このようにして、上流および下流のアプリケーションは、移行に容易に対処することができる。

  • カナリアリリースとロールバックのサポート

    移行タスクはトピックレベルで正確です。 トピック固有のカナリアリリースを実行できます。 移行中にビジネスリスクが発生した場合は、ロールバックできます。