springcloud-基于RestTemplate的服务调用

1.服务productservices

@RestController
public class ProductController {
    @RequestMapping("/product/findAll")
    public Map findAll(){
        Map map = new HashMap();
        map.put("111","苹果手机");
        map.put("222","苹果笔记本");
        return map;
    }
}

 2.服务userservices

@RestController
public class UserController {

    @RequestMapping("/user/showProductMsg")
    public String showProductMsg(){
        RestTemplate restTemplate = new RestTemplate();
        String msg = restTemplate.getForObject("http://127.0.0.1:9001/product/findAll",String.class);
        return msg;
    }
}

 3.问题

1.直接使用restTemplate方式调用没有经过服务注册中心获取服务地址,代码写死不利于维护,当服务宕机时不能高效剔除。
2.调用服务时没有负载均衡需要自己实现负载均衡策略。

原文地址:https://www.cnblogs.com/taohaijun/p/13457335.html