企業級java b2bc商城系統開源原始碼二次開發-Ribbon負載均衡策略配置
阿新 • • 發佈:2018-12-19
Ribbon作為後端負載均衡器,比Nginx更注重的是承擔併發而不是請求分發,可以直接感知後臺動態變化來指定分發策略。
需要JAVA Spring Cloud大型企業分散式微服務雲構建的B2B2C電子商務平臺原始碼請加企鵝求求 :二一四七七七五六三三
它一共提供了7種負載均衡策略:
這裡以隨機訪問策略來舉個例子:
1、ribbon配置檔案新增:
service-B.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule
其中service-B是我註冊到Eureka的serviceID,一共起了3個示例。
2、main類註冊:
@Bean
@LoadBalanced
RestTemplate restTemplate() {
return new RestTemplate();
}
@Bean
public IRule ribbonRule() {
return new RandomRule();//這裡配置策略,和配置檔案對應
}
一定記得加第二個註冊,很多文章沒有。裡面配具體的策略。
3、Controller:
@RestController public class ConsumerController { @Autowired private RestTemplate restTemplate; @Autowired private LoadBalancerClient loadBalancerClient; @RequestMapping(value = "/add", method = RequestMethod.GET) public String add(@RequestParam Integer a,@RequestParam Integer b) { this.loadBalancerClient.choose("service-B");//隨機訪問策略 return restTemplate.getForEntity("http://service-B/add?a="+a+"&b="+b, String.class).getBody(); } }