梗概

  • 提供名字服务
  • 服务方指定某一个北极星名字,然后注册IP和端口实例
  • 客户端调用北极星名字,获取某个服务器的IP和端口

详细流程

客户端通过名字服务调用服务端

  1. 服务发现: 首先客户端会向名字服务询问指定服务名的地址, 服务端返回所有可提供服务的服务端地址列表.
  2. 服务路由: 客户端基于预先设定的策略,对名字服务返回的地址列表进行筛选, 生成新的、满足策略的服务端地址列表.
    1. 常见的策略有: 就近路由, set路由, 元数据路由等. 策略的支持和名字服务能提供的功能是密切相关的
  3. 负载均衡: 负载均衡模块支持从满足本次转发要求的服务实例集中,通过一定的负载均衡策略,选取一个实例供客户端进行服务请求发送.
    1. 常见的负载均衡策略有:random, round_robin, weight_round_robin, consistent_hash等.
  4. 熔断: 对每个RPC请求的请求结果都会进行上报处理,熔断器会根据上报的情况,如果触发熔断,则会对服务器节点进行熔断处理

北极星与网关的区别

北极星不代理流量,主调方直接集成北极星做服务发现,拿到被调节点后直接发送请求。 网关组件代理流量,主调方请求经过网关组件转发到被调节点。有些网关组件提供域名或VIP,域名下可以支持配置L5或北极星服务。这种方式下主调通过域名或VIP发送请求到网关组件,网关组件通过北极星获取业务被调节点转发请求。

使用SET来拆分名字服务

基本概念

示例

child::腾讯trpc配置示例

father:: 名字服务