第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-app Pod の Ruby プロセスのメッセージバスとしても使用されます。
  • backend-redis: 統計ストレージおよび一時ジョブストレージに使用されます。
注記

system-redisbackend-redis の両方を Redis クラスター (オープンソースまたは Redis Labs) に置き換えることができます。

以下の env varssystem- (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 の再起動を迅速に行うことができます。