9.3 服务代理
Juno-agent
可以做gRPC
到ETCD
的代理,用于减少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操作。
同理注销操作。