ApsaraMQ for RocketMQ の Global Replicator 機能を使用して、コンシューマープログレスを同期できます。このトピックでは、その方法について説明します。
一方向同期タスク
使用上の注意
コンシューマープログレスの同期を有効にし、コンシューマーの進捗状況を自動的に更新する をオンにすると、システムはソースインスタンスと宛先インスタンス間のすべてのトピックマッピングについて、同じ名前のグループ間で 10 秒ごとにコンシューマープログレスを同期します。
コンシューマーの進捗状況を自動的に更新する をオンにした後、宛先クラスターのグループがオフラインの場合、コンシューマープログレスは同期されません。手動同期を使用する場合、グループがオンラインかどうかに関係なく、コンシューマープログレスは同期されます。
ソースクラスターと宛先クラスターで同じトピックをサブスクライブするグループのコンシューマープログレスのみが同期されます。
コンシューマープログレスの同期には数分の時間差があり、メッセージが重複する可能性があります。ビジネスコードでメッセージのべき等性が実装されていることを確認してください。
手順
ApsaraMQ for RocketMQ コンソール にログインします。
上部のナビゲーションバーで、管理する同期タスクが存在するリージョン(中国 (杭州) など)を選択します。
左側のナビゲーションウィンドウで、[Global Replicator] をクリックします。表示されるページで、管理するタスクを見つけます。
[基本タスク情報] ページの左側のナビゲーションウィンドウで、[コンシューマープログレスの同期] をクリックします。
[コンシューマープログレスの同期] をオンにします。
自動同期または手動同期のいずれかを選択します。
[自動同期]
[コンシューマープログレスを自動的に更新] をオンにして、自動同期を有効にします。 [コンシューマープログレスの同期] を初めてオンにすると、[コンシューマープログレスを自動的に更新] が自動的にオンになります。
手動同期
[コンシューマープログレスを自動的に更新] をオフにし、[クイック同期] をクリックします。 [クイック同期] メッセージで、[OK] をクリックします。
双方向同期タスク
使用上の注意
コンシューマープログレスの同期を有効にしても、コンシューマープログレスは自動的に同期されません。ビジネスで例外が発生した場合に手動で同期して、繰り返し消費されるメッセージの数を減らすことができます。
宛先クラスターのコンシューマープログレスをソースクラスターに手動で同期できるのは、ソースクラスターと宛先クラスターの両方がメッセージを消費しており、ソースクラスターのコンシューマープログレスが宛先クラスターのコンシューマープログレスよりも遅い場合のみです。
ソースクラスターと宛先クラスターで同じトピックをサブスクライブするグループのコンシューマープログレスのみが同期されます。
コンシューマープログレスの同期には数分の時間差があり、メッセージが重複する可能性があります。ビジネスコードでメッセージのべき等性が実装されていることを確認してください。
手順
ApsaraMQ for RocketMQ コンソール にログインします。
上部のナビゲーションバーで、管理する同期タスクが存在するリージョン(中国 (杭州) など)を選択します。
左側のナビゲーションウィンドウで、[Global Replicator] をクリックします。表示されるページで、管理するタスクを見つけます。
[基本タスク情報] ページの左側のナビゲーションウィンドウで、[コンシューマープログレスの同期] をクリックします。
[コンシューマープログレスの同期] をオンにします。
同期方向を切り替える場合は、[同期方向の切り替え] をクリックします。 [同期方向の切り替え] メッセージで、[OK] をクリックします。
[クイック同期] をクリックします。 [クイック同期] メッセージで、[OK] をクリックします。