アーキテクチャ図は、Kubernetesワーカー・ノードを含むOCIサービスのデプロイメントと、このプレイブックを実装するための関連データ・フローを示しています。OCIリージョンおよび外部インターネット・ユーザーが含まれます。

OCIリージョンは、3つのフォルト・ドメインと次のOCIネットワーク・サービスにまたがる仮想クラウド・ネットワーク(VCN)で構成されています。 また、OKE、OCIファンクションおよびOCIキューのAPIゲートウェイおよびインスタンスも含まれます。VCNへのアクセスは、インターネット・ゲートウェイおよびサービス・ゲートウェイによって制御されます。

リージョン内のVCNには、それ自体にOKEクラスタを含むプライベート・サブネットが含まれます。このサブネットも3つのフォルト・ドメインにまたがっています。サブネット内のOKEクラスタもフォルト・ドメインにまたがり、前述のOKEインスタンスを含むようにサブネットを超えて拡張されます。OKE内では、2つのフォルト・ドメインにワーカー・ノードが含まれています。

リージョン外では、インターネット・コンポーネントにメッセージ・リスナーとインターネット・ユーザー・グループが含まれています。

この図のデータ・フローは、前の図の数字で表され、次のイベント順序を表しています。
  1. ローカルでホストされるプロデューサは、メッセージをOCIキューに入れます。
  2. OCIコンシューマ・インスタンスは、キューからメッセージを取得します。コード内で、消費レートは遅延を使用して制約されます。これにより、プロバイダは、1つのコンシューマがキューから削除できる数を超えるメッセージを生成できます。その結果、スケーリング・メカニズムが機能します。
  3. Kubernetesスケジュール済ジョブは定期的にKEDAをサポートして、公開済APIを呼び出してキュー上のメッセージ数を取得します。
  4. APIゲートウェイは、リクエストをOCIファンクションのインスタンスに送信します。
  5. OCIファンクションはOCIキューを問い合せます。
  6. レスポンスが返されるため、KEDAはマイクロサービスのインスタンスの増減をトリガーします。
さらに、この実装では、ユーザーはいつでも、キューの深さの状態を aというラベルで問い合わせることができます。