体系结构图显示了 OCI 服务的部署,包括 Kubernetes worker 节点以及相关数据流来实施此手册。它包含 OCI 区域和外部 Internet 用户。

OCI 区域包含一个跨三个容错域和以下 OCI 网络服务的虚拟云网络 (VCN): 它还包含一个 API 网关和 OKE、OCI 函数和 OCI 队列的实例。对 VCN 的访问由互联网网关和服务网关控制。

区域中的 VCN 包含专用子网,该子网本身包含 OKE 集群。此子网也跨越三个容错域。子网中的 OKE 群集也跨越容错域,并扩展到子网之外以包含上述 OKE 实例。在 OKE 中,缺少两个容错域包含 worker 节点。

在区域之外,Internet 组件包含消息监听程序和 Internet 用户组。

下图中的数据流用上图中的数字进行描述,并表示以下事件顺序:
  1. 本地托管的生产者将消息放入 OCI 队列。
  2. OCI 使用者实例从队列中检索消息。在代码内,使用延迟会限制使用费率。这可确保提供者生成的消息数大于单个使用者可以从队列中删除的消息数。因此,扩展机制将发挥作用。
  3. 定期,Kubernetes 计划作业将支持 KEDA 调用发布的 API 以获取队列中的消息数。
  4. API 网关会将请求定向到 OCI 函数的实例。
  5. OCI 函数会查询 OCI 队列。
  6. 将返回响应,这将导致 KEDA 触发微服务的实例增加或减少。
此外,此实现还允许用户随时查询队列深度的状态标记为 a