前面我们在讲解Eureka的时候谈到了,服务端发现和客户端发现,Eureka是属于客户端发现的方式,他的负载均衡是软负载,也就是客户端服务器,比如Eureka Server,拉取已注册的服务信息,然后根据负载均衡策略,直接发送请求,这整个过程都是在客户端完成的,并不需要服务器的参与,SpringCloud中客户端负载均衡,都是Ribbon组件,它是基于Netflix Ribbon实现的,通过SpringCloud的封装,可以轻松地面向服务的Rest服务请求,自动转换成客户端,负载均衡服务调用,RestTemplate,Feign,以及后面我们要讲解到的网关服务,Zuul都使用到了Ribbon,SpringCloud在结合了Ribbon的负载均衡的实现中,封装增加了HTTP Client,和OKHttp,两种实现,默认使用Ribbon对Eureka服务发现的负载均衡,我们介绍了RestTempalte的三种实现方式,其中通过添加@LoadBalanced注解,或者直接写代码的时候使用,@LoadBalanced,其实用到的就是Ribbon的组件,添加@LoadBalanced注解后,Ribbon会通过@LoadBalanced自动帮助你基于某种规则,比如简单的轮询,随机连接,去连接目标服务,从而很容易的实现负载均衡的算法,Ribbon实现负载均衡,核心有三点,第一是服务发现,也就是发现服务的列表,就是依据服务的名字,把该服务下所有的实例,都找出来,第二点是服务选择规则,依据规则策略,如何从一个服务中选择一个有效的,最后一点是服务监听,也就是检测失效的服务,做到高效剔除

他的主要组件有ServerList,IRule,ServerListFilter等,他的整个流程是这样子的,首先,通过ServerList,获取所有的可用服务列表,然后通过ServerListFilter,过滤掉一部分地址,最后剩下的地址中,通过IRule选择一个实例,作为最终目标结果,这么说大家可能会觉得比较空洞

负载均衡器 Ribbion相关推荐

  1. 网络负载均衡-负载均衡器

    负载均衡器采用各种分配算法把网络请求分散到一个服务器集群中的可用服务器上去,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将负载均衡功能集成到PC中,一块 ...

  2. AWS 发布了新的负载均衡器 ALB

    Amazon已经发布了其新的负载均衡器产品,Application Load Balancer(ALB).ALB是一种新型智能负载均衡器,对于那些运行基于HTTP的服务的用户来说,它可以显著地降低负载 ...

  3. 一个高速lvs-dr替代系统设计 -- 基于dpdk的高性能负载均衡器

    # LVS DR 原理 LVS-DR不同于普通的haproxy代理机制,它在网络中的作用层级更加底层.haproxy一般代理应用层的应用数据,所有的数据都会通过haproxy收发,导致了haproxy ...

  4. 构建百万访问量电子商务网站之LVS负载均衡(前端四层负载均衡器)[连载之电子商务系统架构]...

    构建百万访问量电子商务网站之LVS负载均衡(前端四层负载均衡器)[连载之电子商务系统架构] 版本:V1 出处:http://jimmyli.blog.51cto.com/我站在巨人肩膀上Jimmy L ...

  5. 负载均衡器技术 Nginx VS F5 Big-IP

    对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器. 目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡 ...

  6. Google Maglev 牛逼的网络负载均衡器(转)

    https://segmentfault.com/a/1190000009565788 Maglev 是什么 Maglev 是谷歌搞的一个工作在三层(IP层)的网络负载均衡器, 它是一个运行在普通的 ...

  7. 数据库水平切分的实现原理解析——分库,分表,主从,集群,负载均衡器

    第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的问题 ...

  8. Azure负载均衡器Standard Load Balancer介绍

    这篇文章的知识点包括:Standard Load Balancer和BasicLoad Balancer的区别以及Standard LB的优势和简单使用,阅读完整文相信大家对Standard Load ...

  9. 网页加载出现没有合适的负载均衡器_终于讲清楚了,什么是负载均衡(Load balancing)...

    什么是负载均衡(Load balancing) 在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但随着业务量越来越大,无论性能还是稳定性上都有了更大的挑战.这时候我们就会想到通过扩容的方式来 ...

最新文章

  1. 欢迎进入 K同学啊 的博客目录(全站式导航)
  2. hdu 3790 最短路径dijkstra(多重权值)
  3. matlab第三方控件,第三方控件介绍
  4. NGINX1.19安装手册
  5. 深入理解并行编程pdf
  6. 中国网和七牛云达成战略合作,携手打造国际化融媒中心
  7. Intellij IDEA中拉svn分支
  8. 移动硬盘访问错误 - 磁盘结构损坏且无法读取、拒绝访问
  9. NOI Linux 2.0的安装
  10. 高级Java程序员必备:《IDEA问题库》常见问题及解决方案,提升开发效率3(JAVA 小虚竹)
  11. Redis数据结构(一)SDS
  12. 极光推送第一次进入APP无法获取RegistrationID
  13. 机器学习之朴素贝叶斯算法详解
  14. org.springframework.jdbc.BadSqlGrammarException: Error updating database
  15. IIS配置php+soap
  16. 用虚拟机搭建web服务器模拟学习项目发布
  17. 不止代码 == 摘读
  18. 如何确定windows右下角弹出的窗口是哪个程序搞的鬼
  19. GAN项目实战 使用CycleGAN将苹果变成橙子Pytorch版
  20. 【3D目标检测】单目相机成像原理

热门文章

  1. 对springMVC的简单理解
  2. eclipse安装Hadoop1.1.2版本开发插件
  3. nand ubi -1 nand基础
  4. 学习 jQuery下拉框,单选框,多选框整理
  5. 属性 Owner 不可用于 数据库...
  6. 创建xmlhttp对象
  7. 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
  8. 剑指OFFER之字符串的排列(九度OJ1369)
  9. input限制输入小数点后两位(vue版本)
  10. guava Lists.transform 踩过的坑