Skip to content

Instantly share code, notes, and snippets.

@luoqeng
Last active May 26, 2021 02:53
Show Gist options
  • Save luoqeng/2c7cc92ecf0aeb81cf17dc0243beb72c to your computer and use it in GitHub Desktop.
Save luoqeng/2c7cc92ecf0aeb81cf17dc0243beb72c to your computer and use it in GitHub Desktop.
envoy

数据平面

  • 服务发现:所有可用的上游/后端服务实例是什么?

  • 运行状况检查:服务发现返回的上游服务实例是否健康并准备接受网络流量?这可以包括主动(例如,对/healthcheck端点的带外ping )和被动(例如,使用3个连续的5xx作为不健康状态的指示)健康检查。

  • 路由:给定/foo来自本地服务实例的REST请求,该请求应发送到哪个上游服务集群?

  • 负载平衡:在路由过程中选择了上游服务集群后,应将请求发送到哪个上游服务实例?几点超时?用什么断路设置?如果请求失败,应该重试吗?

  • 身份验证和授权:对于传入请求,可以使用mTLS或其他某种方式对调用方进行加密认证吗?如果得到证明,则允许调用方调用请求的端点,还是应返回未经身份验证的响应?

  • 可观察性:对于每个请求,应生成详细的统计信息,日志记录和分布式跟踪数据,以便操作员可以了解分布式流量并在发生问题时进行调试。

控制平面

  • 代理实际上如何知道路由/foo到服务B?

  • 代理查询的服务发现数据是如何填充的?

  • 如何指定负载平衡,超时,断路等设置?

  • 如何使用蓝色/绿色或逐步的流量转移语义来完成部署?

  • 谁配置系统范围的身份验证和授权设置?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment