Spring Cloud微服务Ribbon负载均衡/Zuul网关使用
客户端负载均衡,当服务节点出现问题时进行调节或是在正常情况下进行
服务调度。所谓的负载均衡,就是当服务提供的数量和调用方对服务进行
取舍的调节问题,在spring cloud中是通过Ribbon来解决的。还有另外一
种途径是通过服务端的负载均衡Nginx来解决。Ribbon是客户端的负载均
衡,通过Eureka来获取所有的服务的数量,客户端来调用服务时,Ribbon
通过一系列的算法来进行调节,选择哪个服务来进行调用。默认无需对
Ribbon进行配置,它会采用默认的算法进行负载均衡。可以对负载均衡的
算法进行挑选,在调用方配置文件中对Ribbon负载均衡算法进行替换,默
认是雨露均沾式算法,可供挑选的算法总共有11种,比如RandomRule随机
数式算法,还有的算法可以对节点的响应时间进行计算,择优录用。
Ribbon的依赖就在sping-cloud-starter-eureka组件中,无需另外引用。
Zuul网关:
①首先引依赖,Cloud Routing-->Zuul勾选后就引入依赖了。
②在yml配置文件中进行配置,zuul:routes:dm-user-consumer:/user/**
这段配置的意思是对所有访问/user的请求进行拦截,zuul实质就相当于
一个过滤器。
③在启动类上添加@EnableZuulProxy注解。
通过网关可以隐藏真正的访问地址,在访问地址中新增/user将通过网关
进行访问。一共有四大类过滤器,首先经过PRE过滤器,再经过ROUTE过滤
器,ROUTE过滤器会去访问真正的consumer组件,接着访问POST过滤器,
最后响应回前端,如果在这个过程中出现异常,就会经由ERROR过滤器进
行处理。自定义一个类实现ZuulFilter接口,添加@Conponent注解注册到
容器。在实现的run方法中进行登录的控制或其他业务逻辑。
Spring Cloud微服务Ribbon负载均衡/Zuul网关使用的更多相关文章
- SpringCloud与微服务Ⅵ --- Ribbon负载均衡
一.Ribbon是什么 Sping Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具. 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户 ...
- Spring Cloud微服务中网关服务是如何实现的?(Zuul篇)
导读 我们知道在基于Spring Cloud的微服务体系中,各个微服务除了在内部提供服务外,有些服务接口还需要直接提供给客户端,如Andirod.IOS.H5等等. 而一个很尴尬的境地是,如果直接将提 ...
- Spring Cloud 微服务二:API网关spring cloud zuul
前言:本章将继续上一章Spring Cloud微服务,本章主要内容是API 网关,相关代码将延续上一章,如需了解请参考:Spring Cloud 微服务一:Consul注册中心 Spring clou ...
- Spring Cloud 微服务
https://mp.weixin.qq.com/s?__biz=MzU0OTE4MzYzMw==&mid=2247486301&idx=2&sn=f6d45860269b61 ...
- 一张图了解Spring Cloud微服务架构
Spring Cloud作为当下主流的微服务框架,可以让我们更简单快捷地实现微服务架构.Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟.经得起实际考验的服务框架组合起来 ...
- Dubbo和Spring Cloud微服务架构比较
Dubbo 出生于阿里系,是阿里巴巴服务化治理的核心框架,并被广泛应用于中国各互联网公司:只需要通过 Spring 配置的方式即可完成服务化,对于应用无入侵,设计的目的还是服务于自身的业务为主. 微服 ...
- 在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用
本文为阿里云容器服务Spring Cloud应用开发系列文章的第一篇. 一.在阿里云容器服务上开发Spring Cloud微服务应用(本文) 二.部署Spring Cloud应用示例 三.服务发现 四 ...
- Dubbo 和 Spring Cloud微服务架构 比较及相关差异
你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构. 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务, ...
- 全链路实践Spring Cloud 微服务架构
Spring Cloud 微服务架构全链路实践Spring Cloud 微服务架构全链路实践 阅读目录: 网关请求流程 Eureka 服务治理 Config 配置中心 Hystrix 监控 服务调用链 ...
随机推荐
- vi的三种模式
一般指令模式 (command mode)以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式) .在这个模式中, 你可以使用“上下左右”按键来移动光标,你可以使用“删除字 ...
- 《Web安全深度剖析》
书名 <Web安全深度剖析> 图片 时间 2018-11月 总结 算是我安全的启蒙书 前五章都是工具 看完差不多算个脚本小子 后面的实战感觉很空洞没什么实战
- 拯救老旧工程,记桥接SpringMVC与Stripes框架
背景: 公司基础设施部门推出了自己的微服务框架(以下简称M),要求所有业务应用都要接入进去,但坑爹的是M只提供了SpringMVC工程的support,对于采用Stripes作为MVC框架的应用并不支 ...
- MySql 双主多从配置指导
MySql 双主多从配置指导 一.背景 互联网项目为了数据的可靠性和架构的可拓展性经常会用到双主多从的数据库,来实现数据的备份.负载均衡和突发状况时数据库切换. 二.思路 配置两台数据库A.B互为主从 ...
- springboot之JdbcTemplate
springboot可以使用JdbcTemplate进行数据库访问,代码如下 添加pom文件 <parent> <groupId>org.springframework.boo ...
- jq筛选方法
jq筛选方法(参照手册) 过滤: 1) eq(index|-index):获取第N个元素 负值表示从末尾开始匹配 <!-- 获取匹配的第二个元素 --> <p> This is ...
- WebService访问oracle数据库本地调试
WebService访问oracle数据库本地调试-一步一个坑 上篇文章提到我们额数据库挂了,重装了数据库,然后呢我需要在本地调试WebService,看看那些数据结构缺失,迁移到新数据库中去.踩坑之 ...
- Android冷启动优化
我们知道新打开一个应用的时候,会出现短暂的白屏或者黑屏,严重影响到我们的用户体验,其实这个过程是launcher启动新进程,进程中启动activity时,会先绑定window,然后使用默认的windo ...
- 数据库CRUD操作以及MyBatis的配置使用
• 业务字段设计 • 数据库创建 • CRUD操作 • MyBatis集成 • 注解和XML定义 • ViewObject和DateTool • 首页开发 • 业务字段设计 实体: name: ...
- MAC MAMP 中安装配置使用 ThinkPHP
MAMP PRO 是Mac OS X 平台上经典的本地环境应用 MAMP 的专业版.专门为专业的Web开发人员和程序员轻松地安装和管理自己的开发环境. MAMP这几个首字母代表Mac OS X系统上的 ...