zoukankan      html  css  js  c++  java
  • spring cloud客户端启用负载均衡

    provider  

    spring-lb-provider
    @RequestMapping(value = "/call/{id}", method = RequestMethod.GET, 
    			produces = MediaType.APPLICATION_JSON_VALUE)
    	public Police call(@PathVariable Integer id, HttpServletRequest request) {
    		Police p = new Police();
    		p.setId(id);
    		p.setName("angus");
    		p.setMessage(request.getRequestURL().toString());
    		return p;
    	}
    

      consumer

    @RestController
    @Configuration
    public class TestController {
    	
    	@Bean
    	@LoadBalanced
    	public RestTemplate getRestTemplate() {
    		return new RestTemplate();
    	}
    
    	@GetMapping("/router")
    	@ResponseBody
    	public String router() {
    		RestTemplate tpl = getRestTemplate();
    		String json = tpl.getForObject("http://spring-lb-provider/call/1", String.class);
    		return json;
    	}
    	
    	@Autowired
    	private LoadBalancerClient client;
    
    	@RequestMapping(value = "/lb", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
    	public ServiceInstance lb() {
    		ServiceInstance si = client.choose("spring-lb-provider");
    		return si;
    	}
    	
    	@Autowired
    	private SpringClientFactory factory;
    	
    	@RequestMapping(value = "/fa", method = RequestMethod.GET)
    	public String factory() {
    		ZoneAwareLoadBalancer lb = (ZoneAwareLoadBalancer)factory.getLoadBalancer("default");
    		System.out.println(lb.getRule().getClass().getName());
    		
    		ZoneAwareLoadBalancer lb2 = (ZoneAwareLoadBalancer)factory.getLoadBalancer("spring-lb-provider");
    		System.out.println(lb2.getRule().getClass().getName());
    		return "";
    	}
    }
    

      

  • 相关阅读:
    深入分析 Python 的垃圾回收机制
    9.26
    Web安全之ML--构建机器学习工具箱
    第八节--图的数据结构及其算法
    第七节--树形结构及其算法
    第六节--堆栈与队列算法
    第四节--查找与哈希算法
    第三节--排序算法
    第二节--常用数据结构
    第一节--走入算法的世界
  • 原文地址:https://www.cnblogs.com/zfzf1/p/8539932.html
Copyright © 2011-2022 走看看