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 "";
    	}
    }
    

      

  • 相关阅读:
    Zookeeper ZAB 协议分析
    Docker技术快速精通指南
    Oracle闪回技术详解
    怎样打造一个分布式数据库
    使用js冒泡实现点击空白处关闭弹窗
    也谈谈我对Docker的简单理解
    Docker技术快速精通指南
    Oracle优化网上常见的5个错误观点
    使用Spring AOP实现MySQL读写分离
    RESTEASY ,从学会使用到了解原理。
  • 原文地址:https://www.cnblogs.com/zfzf1/p/8539932.html
Copyright © 2011-2022 走看看