Consul 领事及;特使一体化 背景

Consul 领事及;特使一体化 背景,consul,envoyproxy,mesh-network,Consul,Envoyproxy,Mesh Network,我来自HAproxy,最近有很多关于“服务网格”架构的宣传。长话短说,我开始学习“特使”和“领事” 我的理解是,特使是一个代理软件,但使用sidecar将“xDS”作为真相来源(集群、路由、过滤器等)的数据平面抽象为输入输出网络。Concur是服务发现、分段等。它也抽象网络并具有数据平面,但Concur不能像特使那样进行复杂的负载平衡、过滤路由 作为独立的,我可以理解它们是如何工作和设置的,因为文档相对来说比较好。但如果我想集成特使和领事,这可能会很快成为一个令人头痛的问题,因为特使和领事的文档

我来自HAproxy,最近有很多关于“服务网格”架构的宣传。长话短说,我开始学习“特使”和“领事”

我的理解是,特使是一个代理软件,但使用sidecar将“xDS”作为真相来源(集群、路由、过滤器等)的数据平面抽象为输入输出网络。Concur是服务发现、分段等。它也抽象网络并具有数据平面,但Concur不能像特使那样进行复杂的负载平衡、过滤路由

作为独立的,我可以理解它们是如何工作和设置的,因为文档相对来说比较好。但如果我想集成特使和领事,这可能会很快成为一个令人头痛的问题,因为特使和领事的文档都缺乏具体的集成、用例和最佳实践

略图的
考虑以下简单的基础结构设计:

图例:

  • 领事服务器
  • CA:领事代理人
  • MA:微服务A
  • MB:microserviceb
  • 微服务
  • EF:正面/边缘代理
问题
以下是我的问题:

  • 在多实例微服务的情况下,领事(作为 单机版)将随机循环。与特使和领事 整合,领事如何处理多实例微服务?哪一个 软件实现负载平衡吗
  • Concur有Concur服务器来存储它的数据,但是,看起来 没有“特使服务器”来存储其数据,那么其地址在哪里 跨多个实例存储和分发数据
  • 特使集群(特使前置代理的逻辑组)如何 而不是服务集群)?领导人是如何当选的
  • 正如我上面提到的,领事和特使分别有各自的职责 每台机器上的侧车/代理。我在整合时读到过,领事 注入特使侧车,但没有关于如何工作的进一步信息
  • 如果特使将领事服务器用作“xDS”,例如,如果我想 添加一个高级过滤器,以便对于某些URL段,它必须 转发到某个实例
  • 如果特使使用领事服务器作为“xDS”,如果我有另一台机器怎么办 和服务(出于某些原因)不由领事服务器管理。我怎么 配置特使为该机器添加筛选器、群集等,并 服务

  • 谢谢,我非常激动,希望这篇帖子也能对其他人有所帮助。

    对于回复太晚表示歉意。我觉得迟做总比不做好。:-)

  • 如果您仅使用Concur进行服务发现,并通过DNS直接查询,则Concur将随机化返回给客户端的IP地址。如果您正在查询HTTP接口,则由客户机根据响应中返回的主机实现负载平衡策略。当您使用领事服务网格时,负载平衡功能将完全由特使处理
  • 领事是一个xDS服务器。数据存储在concur中,并分发给集群中的代理。有关更多信息,请参阅文档
  • 特使集群类似于后端服务器池。代理包含每个上游服务的集群。在每个集群中,都有表示上游服务的各个代理实例的端点
  • 领事可以在部署到库伯内特斯时注入特使侧车。它是通过库伯内特斯来实现的。有关更多信息,请参阅
  • Concur支持高级第7层路由功能。您可以将配置为通过URL路径、头、查询参数等将请求路由到不同的目的地
  • Concur在版本1.8中有一个即将推出的特性,称为终止网关,它可以启用此用例。有关更多信息,请参阅GitHub问题“连接:终止(外部服务)网关”()