相反,Ribbon负载平衡服务对应于一个负载平衡器,而一个负载平衡器只有一个规则。 加载平衡器提供记录服务注册地址并更新服务注册地址,Rule提供从服务注册地址中找到一个地址的规则。
二、定制负载均衡本文提供了定制负载均衡规则,以便根据指定的URI优先传输到特定机器的功能。
三、实现代码(1)负载均衡实现类
publicclassmicroserviceloadbalancertextendsserverextendsdynamicserverlistloadbalancert { publicmicroserviceloadbalancer } { publicmicroserviceloadbalancer (iclientconfigclientconfig,IRule rule,IPing ping,服务器列表t server list, serverlistfiltert serverlistupdaterserverlistupdater (super )客户端配置,rule,ping,serverlist,filter,serverlistupdater }公共服务客户端配置(客户端配置客户端配置) super ); } @ overridepublicstringtostring ((stringbuilder sb=new stringbuilder ) ) microserviceloadbalancer: ); sb.append(super.tostring ) ); sb.append (服务器列表: ) string.value of (getserverlistimpl ) ); return sb.toString (; (2)应用程序. YAML文件1的配置
micro-service : ribbon : nfloadbalancerclassname : com.MK.spring cloud.gateway.load balance.microserviceloadbadbabard
publicclassmicroribbonconfig { @ beanpubliciloadbalancermicroiloadbalancer (iclientconfigconfig, 服务器列表服务器列表服务器列表serverlistfilterserverserverlistfilter,IRule rule,IPing ping, serverlistupdaterserverlistupdater ) {returnnewmicroserviceler rule,ping,服务器列表,服务器列表过滤器,服务器列表更新器} @ ribbon client (name=' micro-service ',configuration=microribbonconfig.class ) public class ribbonclientconfig { }