客户端负载均衡,当服务节点出现问题时进行调节或是在正常情况下进行
服务调度。所谓的负载均衡,就是当服务提供的数量和调用方对服务进行

取舍的调节问题,在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网关使用的更多相关文章

  1. SpringCloud与微服务Ⅵ --- Ribbon负载均衡

    一.Ribbon是什么 Sping Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具. 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户 ...

  2. Spring Cloud微服务中网关服务是如何实现的?(Zuul篇)

    导读 我们知道在基于Spring Cloud的微服务体系中,各个微服务除了在内部提供服务外,有些服务接口还需要直接提供给客户端,如Andirod.IOS.H5等等. 而一个很尴尬的境地是,如果直接将提 ...

  3. Spring Cloud 微服务二:API网关spring cloud zuul

    前言:本章将继续上一章Spring Cloud微服务,本章主要内容是API 网关,相关代码将延续上一章,如需了解请参考:Spring Cloud 微服务一:Consul注册中心 Spring clou ...

  4. Spring Cloud 微服务

    https://mp.weixin.qq.com/s?__biz=MzU0OTE4MzYzMw==&mid=2247486301&idx=2&sn=f6d45860269b61 ...

  5. 一张图了解Spring Cloud微服务架构

    Spring Cloud作为当下主流的微服务框架,可以让我们更简单快捷地实现微服务架构.Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟.经得起实际考验的服务框架组合起来 ...

  6. Dubbo和Spring Cloud微服务架构比较

    Dubbo 出生于阿里系,是阿里巴巴服务化治理的核心框架,并被广泛应用于中国各互联网公司:只需要通过 Spring 配置的方式即可完成服务化,对于应用无入侵,设计的目的还是服务于自身的业务为主. 微服 ...

  7. 在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用

    本文为阿里云容器服务Spring Cloud应用开发系列文章的第一篇. 一.在阿里云容器服务上开发Spring Cloud微服务应用(本文) 二.部署Spring Cloud应用示例 三.服务发现 四 ...

  8. Dubbo 和 Spring Cloud微服务架构 比较及相关差异

    你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构. 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务, ...

  9. 全链路实践Spring Cloud 微服务架构

    Spring Cloud 微服务架构全链路实践Spring Cloud 微服务架构全链路实践 阅读目录: 网关请求流程 Eureka 服务治理 Config 配置中心 Hystrix 监控 服务调用链 ...

随机推荐

  1. DataTable转换成List集合,传递到HTML页面

    public string GetPwd(string str) { var dt= bll.Gets(str); List<string> list = new List<stri ...

  2. java之equals 与 == 的区别

    == : 1.本质:比较的的是地址,栈内存中存放的对象的内存地址. 2.判断引用所指的对象是否是同一个. 3.两边的操作数必须是同一类型的(可父子类)才能编译通过. 4.值类型(int,char,lo ...

  3. Python全栈开发之---assert断言

    一.python assert的作用: 根据Python 官方文档解释(https://docs.python.org/3/reference/simple_stmts.html#assert), & ...

  4. 修改SublimeText3插件Emmet生成HTML中lang属性的默认值

    打开Preferences → Package Settings → Emmet → Settings-User,输入如下代码并保存: { "snippets": { " ...

  5. npm --save 、-D 、--save -dev

    npm install 和 npm i 是一样 --save 和 -S 是一样 --save-dev 和 -D 是一样的 区别: -S, --save 安装包信息将加入到dependencies(生产 ...

  6. java基础中this,super

    this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类. this的用法就不累赘的说 ...

  7. sql左外连接和右外连接的区别例子转摘

    sql左外连接和右外连接的区别   两个表:A(id,name)数据:(1,张三)(2,李四)(3,王五)B(id,name)数据:(1,学生)(2,老师)(4,校长) 左连接结果:select A. ...

  8. nginx + flask + uwsgi + centos + python3 搭建web项目

    1. python3之前已经搭建好,安装flask,使用 pip3 intall flask,这个比较简单,就不过多介绍 2.我在 /usr/local/nginx/html3  (html3是我新建 ...

  9. XPath Helper的安装与使用

    摘要 : XPath Helper可以支持在网页点击元素生成xpath,整个抓取使用了xpath.正则表达式.消息中间件.多线程调度框架的chrome插件. xpath:是一门XML和HTML文档中查 ...

  10. vmware station-ubuntu18.04 共享剪贴板

    辞职在家休息,买了台新电脑,装个虚拟机,安装visual studio, android studio, qt, everything, noptepad++,hbuilder,ditto,xx-ne ...