《Istio官方文档》——服务发现与负载均衡

服务发现与负载均衡

  本文讲述Istio在服务网格中,如何对交互的服务进行负载均衡。

服务注册:Istio假定存在一个服务可以将pod/VM的地址信息注册上去。假设一个新的服务可以自动注册上去,而当服务不健康的时候可以自动移除。管理平台,比如说Kubernetes, Mesos 已经提供了类似功能在容器的基本应用中。基于VM的应用程序存在大量的解决方案。

  **服务发现:**领航者消费的信息来自于服务注册,提供一个未知平台的服务发现接口。在网格中,使者实例完成了服务注册,相应地动态更新负载均衡池数据。

  如上图,在网格中的服务可以互相使用DNS。所有HTTP请求都会通过使者并实现自动路由。使者分布在负载均衡池里的服务请求。使者支持复杂的负载均衡算法,Istio允许三种方式:轮询,随机,权重最少的请求。

  为了负载均衡,使者周期性地检查在池里面的每个实例的健康状态。使者允许断路器按照规则来分类实例,健康与不健康基于健康检查API的返回的失败率。另一方面,当大量的检查失败超过了规定的界限,它将会从池里面被剔除。同样的,当大量的健康健康数据超过规定的界限,这个实例就会重新加入负载均衡池。你可以在失败处理中找到更多关于使者的失败处理特性。

  服务健康检查时,不断响应503状态码。发生了这样的事情,那么服务将很快地从负载均衡池中移除。

(全文完)

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180124B0O15X00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券