Envoy 代理和 Consul 有什么区别?

What is the difference between Envoy Proxy and Consul?

我很难理解 Envoy 和 Consul 之间的区别。每一个的用例是什么,优点是什么? 他们似乎都在提供服务网格、可观察性和负载平衡。

Consul 是一个服务网格控制平面,它使用 Envoy 作为其数据平面代理。

Data plane vs. control plane summary

  • Service mesh data plane: Touches every packet/request in the system. Responsible for service discovery, health checking, routing, load balancing, authentication/authorization, and observability.
  • Service mesh control plane: Provides policy and configuration for all of the running data planes in the mesh. Does not touch any packets/requests in the system. The control plane turns all of the data planes into a distributed system.

以上引述来自 Envoy 的创建者 Matt Klein 的博客 post,标题为 Service mesh data plane vs. control plane。我建议完整阅读 post 以更好地理解服务网格中控制平面和数据平面的作用。

我还建议观看此视频,Introduction to HashiCorp Consul Connect,了解 Consul 服务网格如何工作的细节。