【二十】搭建SpringCloud项目四(Ribbon)

导读:本篇文章讲解 【二十】搭建SpringCloud项目四(Ribbon),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

 springCloud篇章整体栏目: 


搭建SpringCloud项目一(Eureka)

搭建SpringCloud项目二(GateWay)

搭建SpringCloud项目三(Feign)

搭建SpringCloud项目四(Ribbon)

搭建SpringCloud项目五(Hystix)并使用自定义配置

搭建SpringCloud项目六(Config)配置中心

搭建SpringCloud项目六(Config)配置中心动态刷新


从前面几章开始从0搭建SpringCloud项目,再逐步进行优化,加入其它组件。

上一章加入了feign组件,这次讲解一下我对ribbon的认识,ribbon是做负载均衡的,feign其实是对ribbon的一个整合加强,里面已经包含了ribbon,feign是对其他的服务的接口进行请求,请求时就已经使用了负载均衡的策略,比如请求多个商品服务的实例接口,具体使用哪一个呢,这就需要考虑负载均衡,就需要采用ribbon,feign的依赖里面已经加入了ribbon的依赖,所以使用feign就不需要再单独引入ribbon的依赖了,下面我写一个demo来演示具体怎么负载均衡的,注意feign使用的默认是轮询的策略,演示的也是轮询,就是请求服务实例挨个一个一个来。

本章是接着上一章进行的,现结构如下: 

【二十】搭建SpringCloud项目四(Ribbon)

第一步:新建一个测试的接口

跟前面一章一样,假设是product服务请求account服务的接口,所以假设有多个account服务的实例,因此在account服务里面新增测试接口(看不懂的地方可以去翻前面几章),如下:

【二十】搭建SpringCloud项目四(Ribbon)

接口返回当前实例的端口号(每个服务是唯一的),采用value注解的方式从配置中获取,如下:

【二十】搭建SpringCloud项目四(Ribbon)

【二十】搭建SpringCloud项目四(Ribbon)

第二步:修改product服务

1、新增远程请求接口:

【二十】搭建SpringCloud项目四(Ribbon)

2、新增controller:

【二十】搭建SpringCloud项目四(Ribbon)

第三步:启动多个account服务实例(便于轮询测试)

1、【二十】搭建SpringCloud项目四(Ribbon)

2、

【二十】搭建SpringCloud项目四(Ribbon)

3、 添加新实例的端口号:(-Dserver.port=7070)

【二十】搭建SpringCloud项目四(Ribbon)

5,点击ok,运行即可。

【二十】搭建SpringCloud项目四(Ribbon)

可以看到account服务跑了两个实例即可。

第四步:演示

点击两次send,请求两次接口,可以看到如下结果:

【二十】搭建SpringCloud项目四(Ribbon)

【二十】搭建SpringCloud项目四(Ribbon)

返回的是两个服务的端口号,相比到此你也跟我一样明白feign里面ribbon负载均衡的大概意思了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/12787.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!