當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringCloud Ribbon(一)之自定义负载均衡器ILoadBalancer
生活随笔
收集整理的這篇文章主要介紹了
SpringCloud Ribbon(一)之自定义负载均衡器ILoadBalancer
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、Ribbon負載均衡
一個服務對應一個LoadBalancer,一個LoadBalancer只有一個Rule,LoadBalancer記錄服務的注冊地址,提供更新服務的注冊地址,Rule提供從服務的注冊地址中找出一個地址的規則。
?
二、 自定義負載均衡
本文自定義負載均衡規則提供根據指定URI優先轉發到特定的機器的功能。
?
三、實現代碼
(1)負載均衡實現類
public class MicroServiceLoadBalancer<T extends Server> extends DynamicServerListLoadBalancer<T> {public MicroServiceLoadBalancer() {}public MicroServiceLoadBalancer(IClientConfig clientConfig, IRule rule, IPing ping, ServerList<T> serverList, ServerListFilter<T> filter, ServerListUpdater serverListUpdater) {super(clientConfig, rule, ping, serverList, filter, serverListUpdater);}public MicroServiceLoadBalancer(IClientConfig clientConfig) {super(clientConfig);}@Overridepublic String toString() {StringBuilder sb = new StringBuilder("MicroServiceLoadBalancer:");sb.append(super.toString());sb.append("ServerList:" + String.valueOf(getServerListImpl()));return sb.toString();} }(2)application.yaml文件1配置
micro-service:ribbon:NFLoadBalancerClassName: com.mk.springcloud.gateway.loadbalance.MicroServiceLoadBalancer(3)代碼配置
public class MicroRibbonConfig {@Beanpublic ILoadBalancer microILoadBalancer(IClientConfig config, ServerList<Server> serverList, ServerListFilter<Server> serverListFilter, IRule rule, IPing ping, ServerListUpdater serverListUpdater) {return new MicroServiceLoadBalancer<>(config, rule, ping, serverList,serverListFilter, serverListUpdater);}}@RibbonClient(name = "micro-service", configuration = MicroRibbonConfig.class) public class RibbonClientConfig {}?
總結
以上是生活随笔為你收集整理的SpringCloud Ribbon(一)之自定义负载均衡器ILoadBalancer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二手涨价几十倍,高端自行车成“理财产品”
- 下一篇: gradle idea java ssm