Microservices 微服务、客户端发现

Microservices 微服务、客户端发现,microservices,Microservices,我不熟悉微服务,所以在阅读有关它的文章时,我无法理解下面这段关于负载平衡的内容,客户端将如何做这样的事情 “使用客户端发现时,客户端负责确定可用服务实例的网络位置,并跨这些实例执行负载平衡请求。” 客户机负责确定网络位置 可用的服务实例和跨它们的负载平衡请求 我不知道你在哪里读到的,但是服务消费者被迫实现负载平衡的整个概念是荒谬的 客户端发现模式实际上只是另一种方式,通过服务注册将呼叫路由(有时是通道构造)延迟到运行时。正如理查森在他的模式页面中所说: 当向服务发出请求时,客户端将获得 通过查询

我不熟悉微服务,所以在阅读有关它的文章时,我无法理解下面这段关于负载平衡的内容,客户端将如何做这样的事情

“使用客户端发现时,客户端负责确定可用服务实例的网络位置,并跨这些实例执行负载平衡请求。

客户机负责确定网络位置 可用的服务实例和跨它们的负载平衡请求

我不知道你在哪里读到的,但是服务消费者被迫实现负载平衡的整个概念是荒谬的

客户端发现模式实际上只是另一种方式,通过服务注册将呼叫路由(有时是通道构造)延迟到运行时。正如理查森在他的模式页面中所说:

当向服务发出请求时,客户端将获得 通过查询服务注册表创建服务实例,服务注册表知道 所有服务实例的位置

负载平衡是一个完全不同的关注点,通常会委托给实际的负载平衡器,尽管根据您使用的服务平台,您可能可以访问某种进程内分发服务器

客户机负责确定网络位置 可用的服务实例和跨它们的负载平衡请求

我不知道你在哪里读到的,但是服务消费者被迫实现负载平衡的整个概念是荒谬的

客户端发现模式实际上只是另一种方式,通过服务注册将呼叫路由(有时是通道构造)延迟到运行时。正如理查森在他的模式页面中所说:

当向服务发出请求时,客户端将获得 通过查询服务注册表创建服务实例,服务注册表知道 所有服务实例的位置


负载平衡是一个完全不同的问题,通常会委托给实际的负载平衡器,尽管根据您使用的服务平台,您可能可以访问某种进程内分发服务器。

微服务体系结构涉及许多可能具有层次依赖性的服务。例如,服务A依赖于服务B,服务B又依赖于服务C,依此类推。同样,每个服务可能有多个实例,并且部署它们的位置可能会动态变化。例如,服务C的点击次数太多,您可以动态地放大/缩小此服务

通常,最终用户无法直接访问任何这些微服务。它只能通过位置固定的边缘服务(如www.microservice.com/api)访问,并负责进行身份验证、速率限制等。因此,所有服务调用都将通过边缘服务进行,在此阶段的负载平衡主要通过硬件负载平衡器或Amazon ELBs实现

现在,假设用户想要访问服务a。他必须通过边缘服务,该服务将请求委托给服务a。服务a必须呼叫服务B以获取一些信息。在这种情况下,服务A是服务B的客户机,服务A需要找到B的所有可用实例,然后调用其中一个实例。这就是像etc这样的微服务注册表出现的地方。每个服务实例将不断地向注册表更新其状态(IP、端口、向上/向下等)。边缘服务还将使用此注册表查找服务A的实例位置


服务A还应确保对服务B的所有调用都是负载平衡的。在这里使用ELBs进行负载平衡是不可行的,因为这意味着如果您有50个服务,您需要有50个ELBs。有一些软件负载平衡器可以更有效地实现这一点。例如:是一个很好的Http客户端库,支持用Java编写的负载平衡器

微服务体系结构涉及许多可能具有层次依赖关系的服务。例如,服务A依赖于服务B,服务B又依赖于服务C,依此类推。同样,每个服务可能有多个实例,并且部署它们的位置可能会动态变化。例如,服务C的点击次数太多,您可以动态地放大/缩小此服务

通常,最终用户无法直接访问任何这些微服务。它只能通过位置固定的边缘服务(如www.microservice.com/api)访问,并负责进行身份验证、速率限制等。因此,所有服务调用都将通过边缘服务进行,在此阶段的负载平衡主要通过硬件负载平衡器或Amazon ELBs实现

现在,假设用户想要访问服务a。他必须通过边缘服务,该服务将请求委托给服务a。服务a必须呼叫服务B以获取一些信息。在这种情况下,服务A是服务B的客户机,服务A需要找到B的所有可用实例,然后调用其中一个实例。这就是像etc这样的微服务注册表出现的地方。每个服务实例将不断地向注册表更新其状态(IP、端口、向上/向下等)。边缘服务还将使用此注册表查找服务A的实例位置

服务A还应确保对服务B的所有调用都是负载平衡的。在这里使用ELBs进行负载平衡是不可行的,因为这意味着如果您有50个服务,您需要有50个ELBs。有一些软件负载平衡器可以更有效地实现这一点。例如:是一个很好的Http客户端库,支持用Java编写的负载平衡器