springboot在后端通过网址调用其他后端的接口的两个方法
【摘要】
通过restTemplate 直接调用 RestTemplate restTemplate = new RestTemplate(); String s = restTemplate.getForObj...
-
通过restTemplate 直接调用
RestTemplate restTemplate = new RestTemplate();
String s = restTemplate.getForObject(“http://localhost:9098/product/find?id=” + id, String.class);
但是这种方法是写固定的IP地址,不能动态使用 -
通过restTmplate+ribbon 负载均衡
DiscoveryClient 通过拉去到本地url自己实现负载均衡
LoadBalanceClient 默认是通过轮询的方式实现负载均衡
//1.通过restTemplate 直接调用
RestTemplate restTemplate = new RestTemplate();
String s = restTemplate.getForObject("http://localhost:9098/product/find?id=" + id, String.class);
//2.通过restTmplate+ribbon 负载均衡 DiscoveryClient 通过拉去到本地url自己实现负载均衡 LoadBalanceClient 默认是通过轮询的方式实现负载均衡 注解的形式
// List<ServiceInstance> serviceInstances = discoveryClient.getInstances("products");
// for (ServiceInstance instance : serviceInstances) {
// System.out.println("地址"+instance.getHost()+instance.getPort());
// //做相应的处理
// }
//使用loadbalance自动实现负载均衡
ServiceInstance serviceInstance = loadBalancerClient.choose("products");
String s1 = restTemplate.getForObject(serviceInstance.getUri() + "/product/find?id=" + id, String.class);
map.put("msg",s1);
return map;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
文章来源: englishcode.blog.csdn.net,作者:知识浅谈,版权归原作者所有,如需转载,请联系作者。
原文链接:englishcode.blog.csdn.net/article/details/111601134
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)