如何设置区域感知路由?

在源服务(“cluster_a”)和目标服务(“cluster_b”)之间启用区域感知路由需要执行几个步骤。

在源服务上的Envoy配置

本节介绍与源服务并行运行的Envoy配置。这些要求是:

  • Envoy必须使用--service-zone选项启动,该选项定义了当前主机的区域。
  • 源和目标集群的定义都必须具有sds类型。
  • local_cluster_name必须设置为源群集。

以下配置中仅列出了集群管理器的主要部分。

  1. {
  2. "sds": "{...}",
  3. "local_cluster_name": "cluster_a",
  4. "clusters": [
  5. {
  6. "name": "cluster_a",
  7. "type": "sds",
  8. },
  9. {
  10. "name": "cluster_b",
  11. "type": "sds"
  12. }
  13. ]
  14. }

目标服务上的Envoy配置

没有必要与目标服务并排运行Envoy,但重要的是目标群集中的每个主机都注册源服务Envoy查询的发现服务。区域信息必须作为回应的一部分。

下面只列出了与区域相关的响应数据。

  1. {
  2. "tags": {
  3. "az": "us-east-1d"
  4. }
  5. }

基础架构设置

上述配置对于区域感知路由是必需的,但是当区域感知路由不被执行时有一定的条件

验证步骤

  • 使用每个区域Envoy的统计信息来监视跨区域流量。

返回