客户端负载均衡器:Ribbon组件
RestTemplate、Feign、Zuul都用到了Ribbon
服务发现:依据服务的名字把该服务下所有实例都找出来
服务选择规则:依据规则策略从多个服务中选择一个有效的服务
服务监听:检测失效的服务,做到高效剔除
主要组件:ServerList、IRule、ServerListFilter,通过ServerList获取所有的可用服务列表,然后通过ServerListFilter过滤掉一部分地址,最后剩下的地址通过IRule选择一个实例作为最终目标。
获取所有的可用服务列表源码:
默认规则(轮询): 测试可以用不同端口启动两个相同应用,请求多次看看是否轮询。
一般用轮询就行,如果要改变规则,通过修改配置文件即可,如下改成随机访问规则~
应用名.ribbon.NFLoadBalancerRuleClassName=规则路径