ApsaraDB for MongoDBは高可用性 (HA) アーキテクチャを使用します。 ApsaraDB for MongoDBインスタンスは、ノードの1つが使用できないことを検出すると、プライマリ /セカンダリスイッチオーバーをトリガーします。 また、ショートメッセージサービス (SMS) メッセージまたは内部通知を送信して、切り替えを通知します。
内部通知
[Alibaba Cloud] 親愛なる ****: ApsaraDB for MongoDBインスタンスdds-bp **** (名前: ****) にエラーがあります。 インスタンスを安定して実行するために、切り替えがトリガーされます。 アプリケーションがまだインスタンスに接続されているかどうかを確認し、自動的にインスタンスに再接続するようにアプリケーションを設定することを推奨します。
内部通知を受け取るのはなぜですか?
ApsaraDB for MongoDBはHAアーキテクチャを使用します。 ApsaraDB for MongoDBのレプリカセットインスタンスにはデフォルトで3つのノードが含まれ、ApsaraDB for MongoDBのシャードクラスターインスタンスにはそれぞれ3つのノードが含まれます。 プライマリノードとセカンダリノードはアプリケーションを接続するために使用され、隠しノードはプライマリ /セカンダリスイッチオーバーに使用され、HAを保証します。 詳細については、「レプリカセットインスタンス」または「シャードクラスターインスタンス」をご参照ください。
一般的な原因:
- ノードが利用できない: ApsaraDB for MongoDBはノードヘルスモニタリングをサポートしています。 監視結果に使用できないノードが表示されると、プライマリ /セカンダリの切り替えがトリガーされます。
- ホストがオフライン: ApsaraDB for MongoDBインスタンスのプライマリノードがデプロイされているホストで例外が発生します。 ApsaraDB for MongoDBがホストがオフラインであると見なすケースを回避するために、プライマリ /セカンダリスイッチオーバーがトリガーされ、インスタンスの高可用性が確保されます。
プライマリ /セカンダリ切り替えの影響
- プライマリ /セカンダリの切り替えにより、30秒未満の一時的な接続が発生します。
- アプリケーションをプライマリノードに接続すると、プライマリ /セカンダリの切り替えにより、アプリケーションの読み取り /書き込み操作が影響を受けます。
提案事項
- 切断後にApsaraDB for MongoDBインスタンスに再接続するようにアプリケーションを設定することを推奨します。
- アプリケーションが本番環境で実行されている場合は、接続文字列URIを使用してアプリケーションをインスタンスに接続することを推奨します。 このようにして、プライマリ /セカンダリの切り替えの結果としてノードに障害が発生しても、アプリケーションの読み取り /書き込み操作は引き続き使用できます。 詳細については、「レプリカセットインスタンスへの接続」または「シャードクラスターインスタンスへの接続」をご参照ください。