當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringCloud Ribbon(一)之自定义负载均衡器ILoadBalancer
生活随笔
收集整理的這篇文章主要介紹了
SpringCloud Ribbon(一)之自定义负载均衡器ILoadBalancer
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、Ribbon負(fù)載均衡
一個服務(wù)對應(yīng)一個LoadBalancer,一個LoadBalancer只有一個Rule,LoadBalancer記錄服務(wù)的注冊地址,提供更新服務(wù)的注冊地址,Rule提供從服務(wù)的注冊地址中找出一個地址的規(guī)則。
?
二、 自定義負(fù)載均衡
本文自定義負(fù)載均衡規(guī)則提供根據(jù)指定URI優(yōu)先轉(zhuǎn)發(fā)到特定的機器的功能。
?
三、實現(xiàn)代碼
(1)負(fù)載均衡實現(xiàn)類
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 {}?
總結(jié)
以上是生活随笔為你收集整理的SpringCloud Ribbon(一)之自定义负载均衡器ILoadBalancer的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二手涨价几十倍,高端自行车成“理财产品”
- 下一篇: SpringCloud Ribbon(三