第6章 3scale の Redis 高可用性 (HA) サポート
3scale における Redis 高可用性 (HA) のサポートには、既知の問題があります。詳細は、Red Hat 3scale API Management 2.4 リリースノート(セクション 1.5)を参照してください。リリースノートの既知の問題。
6.1. はじめに リンクのコピーリンクがクリップボードにコピーされました!
高可用性 (HA) は、OpenShift Container Platform (OCP) によりほとんどのコンポーネントで提供されます。詳細は、OpenShift Container Platform 3.11 第 30 章 を参照してください。「High Availability」 を参照してください。
3scale では HA のデータベースコンポーネントに以下が含まれます。
-
system-redis: 3scale API Management のバックグラウンドジョブの一時ストレージを提供し、system-appPod の Ruby プロセスのメッセージバスとしても使用されます。 -
backend-redis: 統計ストレージおよび一時ジョブストレージに使用されます。
system-redis および backend-redis は、どちらも Redis Cluster (open-source または Redis Labs)に置き換えることができます。
以下の env 変数は system-(app、sidekiq、sphinx)デプロイメント設定に設定できますが、Redis Enterprise の要件のみになります。
-
MESSAGE_BUS_REDIS_URL(redis URL) -
REDIS_NAMESPACE(namespace Sidekiq の Redis キーへの短い文字列) -
MESSAGE_BUS_REDIS_NAMESPACE(namespace System メッセージバスの Redis キーへの短い文字列)
Redis Pod が使えなくなったり、OCP によって強制的に終了されたりすると、新しい Pod が自動作成されます。データは永続ストレージから復元されるため、Pod は動作し続けます。このような場合、新しい Pod が起動するまで短いダウンタイムが発生します。これは、Redis がマルチマスター設定をサポートしないという制限によるものです。Redis をデプロイしたすべてのノードに Redis イメージを事前に読み込むと、ダウンタイムを削減することができ、Pod の再起動を迅速に行うことができます。