電子商務平臺源碼請加企鵝求求:三五三六二四七二五九。Ribbon做爲後端負載均衡器,比Nginx更注重的是承擔併發而不是請求分發,能夠直接感知後臺動態變化來指定分發策略。後端
它一共提供了7種負載均衡策略:bash
這裏以隨機訪問策略來舉個例子:併發
一、ribbon配置文件添加:app
service-B.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule
複製代碼
其中service-B是我註冊到Eureka的serviceID,一共起了3個示例。負載均衡
二、main類註冊:dom
@Bean
@LoadBalanced
RestTemplate restTemplate() {
return new RestTemplate();
}
@Bean
public IRule ribbonRule() {
return new RandomRule();//這裏配置策略,和配置文件對應
}
複製代碼
必定記得加第二個註冊,不少文章沒有。裏面配具體的策略。ui
三、Controller:this
@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();
}
}
複製代碼