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 监控 服务调用链 ...
随机推荐
- Js的reduce()方法
Js 数组reduce()方法应用一个函数针对数组的两个值(从左到右),以减至一个值. 语法:array.reduce(callback[, initialValue]) 参数说明: 1)callba ...
- Java开发笔记(十八)上下求索的while循环
循环是流程控制的又一重要结构,“白天-黑夜-白天-黑夜”属于时间上的循环,古人“年复一年.日复一日”的“日出而作.日落而息”便是每天周而复始的生活.计算机程序处理循环结构时,给定一段每次都要执行的代码 ...
- 【转】Android播放音频MediaPlayer的几种方式介绍
接下来笔者介绍一下Android中播放音频的几种方式,android.media包下面包含了Android开发中媒体类,当然笔者不会依次去介绍,下面介绍几个音频播放中常用的类: 1.使用MediaPl ...
- java实现字符串数字部分自增
实现添加员工时对工号进行自增长 思路:后台获取数据库中最后一条员工数据的工号,对其进行自增再传入前端 mybatis映射文件:获取最后一条数据 <select id="getLastN ...
- javaweb登陆过滤器实现
在web.xml中配置登陆过滤器: <!-- 配置登陆过滤器 --> <filter> <filter-name>loginFilter</filter-na ...
- 关于Xcode9.0版本模拟器Reset重置操作变更
- Easyui 实现点击不同树节点打开不同tab页展示不同datagrid表数据设计
实现点击不同树节点打开不同tab页展示不同datagrid表数据设计 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 需求描述 如上图, 1.点击左侧树,叶子 ...
- 南京邮电大学java第四次实验报告
实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 6 月 ...
- 【English】二、It作为代词,可以代指什么
it的用法 一.用作人称代词: 1.指代事物: — What’s this? — It’s a cat.2.指代人:常用于不知对方性别时,比如:询问敲门人或打电话时询问对方是谁,或者用来指代婴儿. ( ...
- AlwaysOn配置时在连接步骤时报错(35250)
1.错误描述 1XX.XXX.XXX.241(主节点) 1XX.XXX.XXX.242(从节点) 添加节点需要在主节点上执行的,错误代码:35250 报错截图 2.网上相关介绍都是怀疑端口5022的问 ...