SpringCloud(九):Ribbon脱离Eureka使用及原生api
来源:互联网 发布:java如何让窗口置顶 编辑:程序博客网 时间:2024/05/21 11:30
前面介绍了使用Eureka和Ribbon的情况,这里小编带你继续学习脱离Eureka如何使用Ribbon以及如何使用ribbon原生api。
脱离eureka使用Ribbon
一、复制原先ribbon项目更改为:microservice-consumer-movie-ribbon-without-eureka
更新pom,application.yml中的名称,在parent的pom文件中加入其module。
二、将原先的配置文件定义负载均衡策略的代码去掉,添加内容
ribbon: eureka: enabled: falsemicroservice-provider-user: ribbon: listOfServers: localhost:7900
三、更改controller中的findById()方法
@GetMapping("/movie/{id}")private User findById(@PathVariable Long id) {ServiceInstance serviceInstance = this.LoadBalancerClient.choose("microservice-provider-user");System.out.println("***"+serviceInstance.getHost()+":"+serviceInstance.getPort()+":"+serviceInstance.getServiceId());return this.restTemplate.getForObject("http://microservice-provider-user/simple/"+id, User.class);}
四、启动
先启动eureka,再启动四个提供者实例,7900,7901,修改application.yml即可。最后启动消费者。启动成功界面:、
五、访问页面:localhost:8010/movie/1,刷新四次
使用ribbon的原生api
官网资料:
Using the Ribbon API Directly
You can also use the LoadBalancerClient directly. Example:
public class MyClass {
@Autowired
private LoadBalancerClient loadBalancer;
public void doStuff() {
ServiceInstance instance = loadBalancer.choose("stores");
URI storesUri = URI.create(String.format("http://%s:%s", instance.getHost(), instance.getPort()));
// ... do something with the URI
}
}
在咱们项目中的体现:
@Autowiredprivate LoadBalancerClient LoadBalancerClient;@GetMapping("/test")public String test() {ServiceInstance serviceInstance = this.LoadBalancerClient.choose("microservice-provider-user");System.out.println("111"+serviceInstance.getHost()+":"+serviceInstance.getPort()+":"+serviceInstance.getServiceId());ServiceInstance serviceInstance2 = this.LoadBalancerClient.choose("microservice-provider-user2");System.out.println("222"+serviceInstance2.getHost()+":"+serviceInstance2.getPort()+":"+serviceInstance2.getServiceId());return "1";}
小结
博客到这里,关于ribbon的介绍就告一段落了。博客中介绍的完整的项目源码地址:链接:http://pan.baidu.com/s/1i4NmJ5b 密码:y0hf
建议大家跟随博客一步步进行搭建,源码作为参考。实践中更有利于成长!
- SpringCloud(九):Ribbon脱离Eureka使用及原生api
- Ribbon脱离Eureka使用
- Ribbon脱离eureka使用
- SpringCloud(第 011 篇)电影Ribbon微服务,脱离Eureka使用配置listOfServers进行客户端负载均衡调度
- springcloud 中使用eureka/ribbon/Hystrix负载均衡及断路器
- 学习Spring Cloud第十课(Ribbon脱离Eureka使用)
- SPRINGCLOUD(EUREKA+RIBBON+FEIGN+HYSTRIX)
- springcloud(第七篇)springcloud ribbon with eureka
- SpringCloud学习:Eureka、Ribbon和Feign
- SpringCloud(八):使用配置文件自定义Ribbon
- springcloud微服务实战:Eureka+Zuul+Ribbon+Hystrix+SpringConfig
- springcloud架构搭建(一) Eureka服务器搭建及配置
- 【SpringCloud】(七):自定义Ribbon
- SpringCloud(五):Ribbon了解
- SpringCloud(六):Ribbon示例
- SpringCloud之Ribbon(一)
- SpringCloud之Ribbon(二)
- SpringCloud Eureka
- Light oj 1138
- (模拟)2017"百度之星"程序设计大赛
- 在windows下黑窗口中操作数据库
- html里的几个小窍门分享一下
- 20170812在STM32F103RB上测试RTT硬实时OS
- SpringCloud(九):Ribbon脱离Eureka使用及原生api
- 233 Matrix HDU
- 欢迎使用CSDN-markdown编辑器
- Android Studio起步配置
- [OpenGL] Normal Mapping 法线映射
- 多线程的四种状态及同步机制的应用(火车票线程同步)
- UVa1629 Cake Slicing
- poj 2985 The k-th Largest Group (Treap+并查集)
- python3与2的区别