0

我正在尝试在领事服务网格中运行我的一些微服务。根据 consul 文档,很明显 consul 负责路由、负载平衡和服务发现。但他们的文档也谈到了 NGINX、HAProxy 和 F5 等 3rd 方负载均衡器。

https://learn.hashicorp.com/collections/consul/load-balancing

如果 consul 负责负载均衡,那么这些负载均衡器的用途是什么。

我的假设,

  1. 这些负载均衡器是为了替代 consul 内置的负载均衡技术,但是 LB 仍然使用 consul 服务发现数据。(为什么有人需要这个!!!)

  2. Consul 只为东西向流量(在服务网格内)提供负载均衡。为了对南北流量(互联网流量)进行负载均衡,我们需要外部负载均衡器。

请让我知道我的哪个假设是正确的

4

2 回答 2

1

我咨询了我的一位同事(完全披露:我为 F5 工作),他提到虽然使用外部服务进行负载平衡不是技术要求,但许多组织已经拥有了基础设施以及运营随之而来的要求、政策和程序。

有关 Consul 如何使用 F5 BIG-IP 等边缘服务的一些示例,您可能会发现一些有趣的文章可以为您的问题提供上下文。

于 2021-04-28T20:03:30.763 回答
1

Consul 服务网格默认使用 Envoy 代理来实现网格内连接的东西向和南北向负载平衡。东西向的流量通过 sidecar 代理进行路由,而南北向的连接则通过配置为入口网关的 Envoy 实例进行路由。

除了 Consul 的原生 Envoy ingress,Consul 还支持与其他代理和 API 网关的集成。如果您需要本机入口产品中不可用的功能,则可以使用这些功能。

第三方代理利用 Consul 的服务目录使用来自 Consul 的端点信息填充其后端/上游成员池。这允许代理在数据中心始终拥有最新的健康和可用服务列表,并且在添加/删除服务端点时无需手动重新配置南北代理。

一些网关,如大使、F5 和(很快)Traefik(请参阅 PR https://github.com/traefik/traefik/pull/7407 )通过与服务网格集成(请参阅连接自定义代理集成)更进一步,以便他们可以在连接到后端服务时使用 mTLS。

于 2021-04-29T04:50:39.017 回答