Ribbon 是一个用于构建云服务的客户端库,主要用于负载均衡和通信。关于Ribbon的刷新原理,以下是相关介绍:
Ribbon定时更新的接口抽象为ServerListUpdater。当Ribbon从注册中心获取了服务实例列表之后,Ribbon需要动态更新服务实例列表。更新的方式有两种:
reactorloadbalancer1.通过定时任务定时拉取服务实例列表。Ribbon会使用一个定时任务线程池定时拉取更新数据。PollingServerListUpdater只是控制了线程池的动作,但是具体的业务逻辑则是封装在UpdateAction中。PollingServerListUpdater.start()以固定的频率,每隔30秒调用一下updateListOfServers方法,将DiscoveryClient中Applications中缓存的实例同步到ILoadBalancer中的allServerList列表中。
2.使用服务器推送通知的方式更新服务实例列表。这种方式需要在服务器端实现一个用于推送通知的服务,当服务实例有变化时,服务器端将变化推送给客户端,客户端收到通知后更新本地缓存的服务实例列表。
以上内容仅供参考

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。