脱离Eureka使用Ribbon
项目的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相关推荐
- Ribbon-4 Ribbon脱离Eureka使用
6.5 Using Ribbon with Eurekahttps://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-ri ...
- SpringCloud:Ribbon负载均衡(基本使用、 负载均衡、自定义配置、禁用 Eureka 实现 Ribbon 调用)
现在所有的服务已经通过了 Eureka 进行了注册,那么使用 Eureka 注册的目的是希望所有的服务都统一归属到 Eureka 之中进 行处理,但是现在的问题,所有的微服务汇集到了 Eureka 之 ...
- SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用、Ribbon 负载均衡、自定义 Ribbon 配置、禁用 Eureka 实现 Ribbon 调用)...
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Ribbon 负载均衡 2.具体内容 现在所有的服务已经通过了 Eureka 进行了注册,那么使用 Eureka 注册 ...
- 实践出真知之Spring Cloud之基于Eureka、Ribbon、Feign的真实案例
转载自 实践出真知之Spring Cloud之基于Eureka.Ribbon.Feign的真实案例 Eureka是Spring Cloud Eureka的简称,是Netflix提供的组件之一.通过E ...
- 【Java从0到架构师】SpringCloud - Eureka、Ribbon、Feign
SpringCloud 分布式.微服务相关概念 微服务框架构选型 SpringCloud 概述 服务注册与发现 - Eureka 案例项目 Eureka 自我保护机制 微服务调用方式 - Ribbon ...
- Eureka 整合 Ribbon 巨坑解决方案
Eureka 整合 Ribbon 巨坑解决方案 问题详情: java.lang.IllegalStateException: No instances available for ribbon-pro ...
- 从实例一步一步入门学习SpringCloud的Eureka、Ribbon、Feign、熔断器、Zuul的简单使用(附代码下载)
场景 SpringCloud -创建统一的依赖管理: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102530574 Sprin ...
- Spring Cloud部分源码分析Eureka,Ribbon,Feign,Zuul
Eureka SpringCloud Eureka使用NetFlix Eureka来实现的,它包括了服务端组件和客户端组件,并且都是用java 编写的. Eureka服务端就是服务注册中心, Eure ...
- IDEA项目搭建六——使用Eureka和Ribbon进行项目服务化
一.Eureka的作用 这里先简单说明使用eureka进行业务层隔离,实现项目服务化也可以理解为微服务,我一直崇尚先实现代码再学习理论,先简单上手进行操作,eureka使用分为三块,1是服务注册中心, ...
最新文章
- easyexcel怎么设置表头宽度_easyexcel 自动设置列宽
- 《UX最佳实践:提高用户体验影响力的艺术 》一3.6 总结
- 转载 开发人员一定要加入收藏夹的网站
- 前端每周清单半年盘点之 WebAssembly 篇
- python的输入和格式输出
- vs2008智能提示jQuery的设置注意事项
- 中国电信广东公司面试经验
- 数学差学计算机和编程难吗,数学很差能学计算机吗
- 微软 Windows XP 源代码遭泄露!
- NLP自然语言处理库系列教程——gensim库
- Android系统应用---SystemUI之三:状态栏电池图标的显示和Android电池管理的探讨
- 2021-10-14 谷歌浏览器更改默认搜索引擎
- 不要浪费时间跟踪技术债务
- atoi atol实现
- 【小王的安卓之路】Android原生网络请求
- HTTPS、TLS连接
- 刘未鹏 新书 《暗时间》 (全)
- EDC|太美eCollect会是EDC系统的明日之星吗?
- 数据结构与算法 -- 树结构与图结构
- #论文阅读 LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping
热门文章
- 论文笔记:残差神经网络(ResNet v1)
- INSEC WORLD:世界信息安全西望成都
- ffmpeg 音频解码一
- ibm服务器密码破解_IBM Integration Bus中的密码术操作
- 当代超吸金的行业“Python工程师”,如何快速从Pytho入门到初级Python工程师?
- Outlook2007备份邮件规则、联系人以及账号及在Outlook 2007中删除自动记忆的收件人...
- OVERLAPPED结构体类型介绍及作用
- Visual Studio各版本区别
- C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
- 部署apollo-client到maven私服上时遇到的问题及排查过程