项目的github:https://github.com/simonsfan/SpringCloud.git

Ribbon可以实现客户端的负载均衡,在使用Ribbon实现客户端负载均衡一文中,详细描述了如何在Eureka的环境中结合Ribbon实现负载均衡,但实际项目中不一定配合Eureka使用,本文讲述脱离Eureka后如何使用Ribbon。

复制项目ticket-consumer-ribbon,修改ArtifactId为ticket-consumer-ribbon-without-eureka

pom文件中去掉Eureka依赖

 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency>

引入Ribbon依赖

 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId></dependency>

修改配置文件application.yml

server:port: 9000spring:application:name: ticket-consumer-ribbon-without-eureka
user-provider:    #这里是用户微服务的节点名称ribbon:listOfServers: localhost:8000,localhost:8001

测试:

分别以8000、8001端口启动user-provider项目微服务;启动ticket-consumer-ribbon-without-eureka项目微服务;浏览器多次访问http://localhost:9000/loginfo,观察ticket-consumer-ribbon-without-eureka控制台,效果如下(只截取部分)

2018-07-20 11:48:25.890  INFO 6336 --- [nio-9000-exec-3] c.simons.cn.controller.TicketController  : host=localhost,port=8001,serviceid=user-provider
2018-07-20 11:48:26.149  INFO 6336 --- [nio-9000-exec-4] c.simons.cn.controller.TicketController  : host=localhost,port=8000,serviceid=user-provider
2018-07-20 11:48:26.233  INFO 6336 --- [nio-9000-exec-5] c.simons.cn.controller.TicketController  : host=localhost,port=8001,serviceid=user-provider
2018-07-20 11:48:26.356  INFO 6336 --- [nio-9000-exec-7] c.simons.cn.controller.TicketController  : host=localhost,port=8000,serviceid=user-provider
2018-07-20 11:48:26.517  INFO 6336 --- [nio-9000-exec-9] c.simons.cn.controller.TicketController  : host=localhost,port=8001,serviceid=user-provider
2018-07-20 11:48:26.643  INFO 6336 --- [nio-9000-exec-1] c.simons.cn.controller.TicketController  : host=localhost,port=8000,serviceid=user-provider
2018-07-20 11:48:26.804  INFO 6336 --- [nio-9000-exec-3] c.simons.cn.controller.TicketController  : host=localhost,port=8001,serviceid=user-provider
2018-07-20 11:48:26.962  INFO 6336 --- [nio-9000-exec-5] c.simons.cn.controller.TicketController  : host=localhost,port=8000,serviceid=user-provider
2018-07-20 11:48:27.115  INFO 6336 --- [nio-9000-exec-7] c.simons.cn.controller.TicketController  : host=localhost,port=8001,serviceid=user-provider
2018-07-20 11:48:27.258  INFO 6336 --- [nio-9000-exec-9] c.simons.cn.controller.TicketController  : host=localhost,port=8000,serviceid=user-provider
2018-07-20 11:48:27.419  INFO 6336 --- [nio-9000-exec-1] c.simons.cn.controller.TicketController  : host=localhost,port=8001,serviceid=user-provider

可以看到,在没有Eureka的环境下也实现了轮询的负载均衡方式(默认轮询),如果你想修改轮询方式,yml配置文件中添加

server:port: 9000spring:application:name: ticket-consumer-ribbon-without-eureka
user-provider:    #这里是用户微服务的节点名称ribbon:listOfServers: localhost:8000,localhost:8001NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule  #随机访问

注意,上述方式配置负载均衡方式可以成功的前提是你的SpringCloud Netflix版本要高于1.2.0。


 推荐阅读:elastic search搜索引擎实战demo:https://github.com/simonsfan/springboot-quartz-demo,分支:feature_es

 推荐阅读:使用quartz实现定制化定时任务(包含管理界面)

 引申阅读:使用Ribbon实现客户端负载均衡

脱离Eureka使用Ribbon相关推荐

  1. Ribbon-4 Ribbon脱离Eureka使用

    6.5 Using Ribbon with Eurekahttps://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-ri ...

  2. SpringCloud:Ribbon负载均衡(基本使用、 负载均衡、自定义配置、禁用 Eureka 实现 Ribbon 调用)

    现在所有的服务已经通过了 Eureka 进行了注册,那么使用 Eureka 注册的目的是希望所有的服务都统一归属到 Eureka 之中进 行处理,但是现在的问题,所有的微服务汇集到了 Eureka 之 ...

  3. SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用、Ribbon 负载均衡、自定义 Ribbon 配置、禁用 Eureka 实现 Ribbon 调用)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Ribbon 负载均衡 2.具体内容 现在所有的服务已经通过了 Eureka 进行了注册,那么使用 Eureka 注册 ...

  4. 实践出真知之Spring Cloud之基于Eureka、Ribbon、Feign的真实案例

    转载自  实践出真知之Spring Cloud之基于Eureka.Ribbon.Feign的真实案例 Eureka是Spring Cloud Eureka的简称,是Netflix提供的组件之一.通过E ...

  5. 【Java从0到架构师】SpringCloud - Eureka、Ribbon、Feign

    SpringCloud 分布式.微服务相关概念 微服务框架构选型 SpringCloud 概述 服务注册与发现 - Eureka 案例项目 Eureka 自我保护机制 微服务调用方式 - Ribbon ...

  6. Eureka 整合 Ribbon 巨坑解决方案

    Eureka 整合 Ribbon 巨坑解决方案 问题详情: java.lang.IllegalStateException: No instances available for ribbon-pro ...

  7. 从实例一步一步入门学习SpringCloud的Eureka、Ribbon、Feign、熔断器、Zuul的简单使用(附代码下载)

    场景 SpringCloud -创建统一的依赖管理: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102530574 Sprin ...

  8. Spring Cloud部分源码分析Eureka,Ribbon,Feign,Zuul

    Eureka SpringCloud Eureka使用NetFlix Eureka来实现的,它包括了服务端组件和客户端组件,并且都是用java 编写的. Eureka服务端就是服务注册中心, Eure ...

  9. IDEA项目搭建六——使用Eureka和Ribbon进行项目服务化

    一.Eureka的作用 这里先简单说明使用eureka进行业务层隔离,实现项目服务化也可以理解为微服务,我一直崇尚先实现代码再学习理论,先简单上手进行操作,eureka使用分为三块,1是服务注册中心, ...

最新文章

  1. easyexcel怎么设置表头宽度_easyexcel 自动设置列宽
  2. 《UX最佳实践:提高用户体验影响力的艺术 》一3.6 总结
  3. 转载 开发人员一定要加入收藏夹的网站
  4. 前端每周清单半年盘点之 WebAssembly 篇
  5. python的输入和格式输出
  6. vs2008智能提示jQuery的设置注意事项
  7. 中国电信广东公司面试经验
  8. 数学差学计算机和编程难吗,数学很差能学计算机吗
  9. 微软 Windows XP 源代码遭泄露!
  10. NLP自然语言处理库系列教程——gensim库
  11. Android系统应用---SystemUI之三:状态栏电池图标的显示和Android电池管理的探讨
  12. 2021-10-14 谷歌浏览器更改默认搜索引擎
  13. 不要浪费时间跟踪技术债务
  14. atoi atol实现
  15. 【小王的安卓之路】Android原生网络请求
  16. HTTPS、TLS连接
  17. 刘未鹏 新书 《暗时间》 (全)
  18. EDC|太美eCollect会是EDC系统的明日之星吗?
  19. 数据结构与算法 -- 树结构与图结构
  20. #论文阅读 LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping

热门文章

  1. 论文笔记:残差神经网络(ResNet v1)
  2. INSEC WORLD:世界信息安全西望成都
  3. ffmpeg 音频解码一
  4. ibm服务器密码破解_IBM Integration Bus中的密码术操作
  5. 当代超吸金的行业“Python工程师”,如何快速从Pytho入门到初级Python工程师?
  6. Outlook2007备份邮件规则、联系人以及账号及在Outlook 2007中删除自动记忆的收件人...
  7. OVERLAPPED结构体类型介绍及作用
  8. Visual Studio各版本区别
  9. C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
  10. 部署apollo-client到maven私服上时遇到的问题及排查过程