第8章 3scale の Redis 高可用性 (HA) サポート
3scale における Redis 高可用性 (HA) のサポートには、既知の問題があります。詳細は、Red Hat 3scale API Management 2.5 リリースノートの第 6 章既知の問題 を参照してください。
8.1. はじめに リンクのコピーリンクがクリップボードにコピーされました!
高可用性 (HA) は、OpenShift Container Platform (OCP) によりほとんどのコンポーネントで提供されます。詳細は、OpenShift Container Platform 3.11 30.章、高可用性 を参照してください。
3scale では HA のデータベースコンポーネントに以下が含まれます。
-
system-redis: 3scale のバックグラウンドジョブの一時ストレージを提供し、system-appPod の Ruby プロセスのメッセージバスとしても使用されます。 -
backend-redis: 統計ストレージおよび一時ジョブストレージに使用されます。
system-redis と backend-redis の両方を Redis クラスター (オープンソースまたは Redis Labs) に置き換えることができます。
以下の env vars は 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 の再起動を迅速に行うことができます。