docker - 如何在 Pod 间广播 gRPC 流
问题描述
我们有 gRPC 流来在两个微服务之间共享数据,一个 API 和一个 Worker(均在 Golang 中创建)。目的是监听 Worker 服务 pod 正在处理的作业的状态。因此,通信是单向的(Worker 向 Api 发送更新)。下图显示了它。
我们的问题是,我如何才能知道 Worker 的 pod 何时扩大,以便(通过流)订阅新的 Worker pod?
下图显示了问题。
解决方案
也许这对您的用例来说是不可能的,但是您是否考虑过在工作人员面前提供服务,所以您不是订阅两个工作人员,而是订阅两者之一?
如果您需要同时订阅这两个工作人员,您可以做的一件事是使用 k8s API 客户端并使用选择器(按名称或其他标签)选择工作人员 pod 来观察 pod 资源,并在以下情况下订阅它新的弹出。这可能需要您为侦听器 pod 设置集群角色和集群角色绑定,以便它们可以监视 pod 资源。该计划还允许您在工人死亡时取消订阅工人。
推荐阅读
- python - Python从列表中创建链接
- python - tkinter 条目字段未使用 .insert 更新
- java - 我应该在 Jersey REST API 中上传期间限制文件名的长度吗?
- git - 如何从特定的提交计数中获取提交哈希(ID)?
- javascript - 表html jsreport中的两个值数据的乘法
- google-sheets - 如果单元格包含定义的值,则从行中提取数据
- python - discord.py 邀请跟踪器
- google-apps-script - 异常:在对象 SpreadsheetApp.Range 上获取方法或属性 setNumberFormats 时出现意外错误
- python - Dataframe.multiply 方法生成 NaN 值
- php - preg_match_all 仅替换第一次出现 @user php