最近解决了一个困扰很久的问题,这方面资料几乎没有,so记录下来。
使用Spring Cloud进行 微服务 开发,在微服务间进行远程调用时,为了更方便,同时也为了负载均衡,在 url 中使用 应用名称 替代 host:port这样的方式进行RPC;
1,在 spring cloud 的老版本中(比如 Angel.SR3), 是自动添加了RestTemplate
这个Bean,只要在相应的类中自动装配 RestTemplate
这个 Bean:
@Autowired
RestTemplate restTemplate;
就可以直接使用getForObject
方法进行RPC:
restTemplate.getForObject(String url, Class<String> responseType, Object... uriVariables))
2,而在比较新的版本中(比如 Camden.SR7), 是没有自动添加Rest