11.2. リファレンスアーキテクチャー
次のセットアップを使用して上記の設定を反映し、さまざまなシナリオで約 10 分間のテストを実行しました。
- ROSA 経由で AWS にデプロイした OpenShift 4.16.x。
-
m5.2xlarge
インスタンスが含まれるマシンプール。 - Operator と 3 つの Pod を使用して、アクティブ/アクティブモードの 2 サイトを持つ高可用性セットアップでデプロイした Red Hat build of Keycloak。
- クライアントの TLS 接続が Pod で終了するパススルーモードで実行される OpenShift のリバースプロキシー。
- マルチ AZ セットアップの Amazon Aurora PostgreSQL データベース。
- Argon2 による 5 回のハッシュイテレーションと最小メモリーサイズ 7 MiB を使用したデフォルトのユーザーパスワードハッシュ化。これは OWASP により推奨 (デフォルト) されています。
- クライアントクレデンシャルグラントでリフレッシュトークンを使用しません (デフォルト)。
- 20,000 のユーザーと 20,000 のクライアントを使用してシードしたデータベース。
- デフォルトの 10,000 エントリーの Infinispan ローカルキャッシュ。そのため、すべてのクライアントとユーザーがキャッシュに収まるわけではありません。一部のリクエストはデータベースからデータを取得する必要があります。
- デフォルト設定に従ってすべての認証セッションを分散キャッシュに配置。エントリーごとに 2 人の所有者が存在し、1 つの Pod で障害が発生してもデータ損失が発生しません。
- すべてのユーザーおよびクライアントセッションはデータベースに保存されます。マルチサイトセットアップでテストされたため、メモリー内にはキャッシュされません。固定数のユーザーおよびクライアントセッションがキャッシュされるため、シングルサイトセットアップではパフォーマンスが若干向上することが予想されます。
- OpenJDK 21