Cluster

Cluster介绍

群集(cluster)是一组类似的上游主机(hosts),接受来自Envoy的流量。

集群允许均衡服务集的负载平衡,以及更好的基础架构弹性。

在Envoy的白话中,“群集(cluster)”是一组命名的主机(host)/端口(port),Envoy将通过群集来实现流量的负载均衡。可以将cluster称为服务,微服务或API。Envoy将定期轮询CDS端点以获取群集配置。

Cluster配置

通过静态定义或使用群集发现服务(Cluster Discovery Service/CDS)配置群集。

静态配置

集群定义实例如下:

clusters:
  - name: service1
      connect_timeout: 0.25s
      type: strict_dns
      lb_policy: round_robin
      http2_protocol_options: {}
      hosts:
      - socket_address:
          address: service1
          port_value: 80
  - name: service2
      connect_timeout: 0.25s
      type: strict_dns
      lb_policy: round_robin
      http2_protocol_options: {}
      hosts:
      - socket_address:
          address: service2
          port_value: 80

上面的例子中,是通过DNS来获取集群成员的数据,Envoy也可以配置为使用服务发现。

CDS动态配置

集群配置也可以通过 集群发现服务 (RDS) 动态获取。