9.3 服务代理

Juno-agent可以做gRPCETCD的代理,用于减少ETCD,提升ETCD性能和服务可靠性。

todo: 为了让大家更好的理解服务代理的必要性,请大家先阅读服务注册痛点

9.3.1 功能描述

  • Register
  • Lease
  • Watch
  • Discovery(todo)

9.3.2 数据拦截

会将Register,Lease,Watch,Discovery里的方法设置拦截器,将数据放入到消息总线,方便数据分析。

9.3.3 开启服务代理

我们可以使用Juno-agent接管应用的注册、注销、租期、发现等功能。

我们需要在管理后台,需要设置五个信息

  • 注册key的前缀
  • 如何解析注册里的ip,port信息
  • 探活的路径
  • 流控数据
  • lease周期

设置完拦截的代理信息后,我们就可以开启此功能。

这个时候Juno-agent将会拦截该应用的注册key,解析出该应用需要注册的ip port,根据探活路径进行探活。探活成功后,才会将该应用的服务注册到ETCD里。这个时候还可以根据ETCD里的配置,对服务按权重进行逐步导流。

同时根据配置的周期探活,对服务注册进行lease操作。

同理注销操作。