负载均衡是微服务架构中必须使用的技术,通过负载均衡来实现系统的高可用、集群扩容等功能。负载均衡可通过硬件设备及软件来实现,硬件比如:F5、Array等,软件比如:LVS、Nginx等。如下图是负载均衡的架构图:

用户请求先达到负载均衡器(也相当于一个服务),负载均衡根据负载均衡算法将请求转发到微服务。负载均衡算法有:轮询、随机、加权轮询、加权随机、地址哈希等方法,负载均衡器维护一份服务列表,根据负载均衡算法将请求转发到相应的微服务上,所以负载均衡可以为微服务集群分担请求,降低系统的压力。

Spring Cloud Ribbon是基于客户端的负载均衡工具,负载均衡分为服务端负载均衡和客户端负载均衡,上方的图形指的是服务端负载均衡,客户端负载均衡与服务端负载均衡的区别在于客户端要维护一份服务列表,Ribbon从Eureka Server获取服务列表,Ribbon根据负载均衡算法直接请求到具体的微服务,中间省去了负载均衡服务。如下图是Ribbon负载均衡的流程图:

1.在消费微服务中使用Ribbon实现负载均衡,Ribbon先从Eureka Server中获取服务列表。

2.Ribbon根据负载均衡的算法进行负载均衡,将请求转发到其它微服务。

Spring Cloud 负载均衡相关推荐

  1. Spring Cloud —— 负载均衡与 Ribbon 应用

    引言 本篇博客简单介绍微服务负载均衡的概念,并通过 IDEA 多端口启动应用的方式,模拟多个应用实例,使用自定义和 Ribbon 两种方式实现基本的负载均衡策略. 微服务代码以<Spring C ...

  2. Spring Cloud——负载均衡Ribbon

  3. spring python负载均衡_Spring Cloud:使用Ribbon实现负载均衡详解(上)

    1. 什么是 Ribbon? Spring Cloud Ribbon 是一套实现客户端负载均衡的工具.注意是客户端,当然也有服务端的负载均衡工具,我们后面再介绍.可以认为 Ribbon 就是一个负载均 ...

  4. Spring Clould负载均衡重要组件:Ribbon中重要类的用法

    Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合.通过Ribbon,程序员能在不涉及到具体实现细节的基础上"透明"地用到负载均衡 ...

  5. Spring cloud 微服架构(一)

    目标包括: 1. spring boot 简单使用(集成Mybatis ,打包 docker) 2. spring cloud 服务注册 3. spring cloud 服务发现与使用 4. spri ...

  6. 【Java学习路线之JavaWeb】Spring Cloud教程(非常详细)

    文章目录 读者 阅读条件 微服务是什么 微服务,我们可以从字面上去理解,即"微小的服务",下面我们从"服务"和"微小"两个方面进行介绍. 微 ...

  7. 【Spring Cloud Alibaba】Spring Cloud Alibaba 服务注册与发现实践

    1. 简介 服务注册与发现是微服务架构体系中最关键的组件之一.如果尝试着用手动的方式来给每一个客户端来配置所有服务提供者的服务列表是一件非常困难的事,而且也不利于服务的动态扩缩容.Nacos Disc ...

  8. Spring Cloud微服务系列文,服务调用框架Feign

    之前博文的案例中,我们是通过RestTemplate来调用服务,而Feign框架则在此基础上做了一层封装,比如,可以通过注解等方式来绑定参数,或者以声明的方式来指定请求返回类型是JSON.    这种 ...

  9. 服务器端的负载均衡和客户端的负载均衡

    负载均衡的概念:是指单台服务器性能达到极限时通过服务器集群来横向增加系统的吞吐量和性能. 想象一下,一群学生去食堂打饭,只安排一个阿姨负责分菜的话,效率太低了,阿姨可能会被累死.那么,就安排多个阿姨分 ...

最新文章

  1. MySQL数据库修改表结构
  2. HDU 5115 Dire Wolf ——(区间DP)
  3. Oracle 高性能SQL引擎剖析----执行计划
  4. 4.12—002—周五
  5. tvpvar模型的建模步骤_框架箱涵建筑信息建模
  6. Android开发技术周报 Issue#52
  7. 5.14 图像频域处理
  8. 单例模式(singleton)解析例子
  9. 浅谈工业无线遥控器的基本定义及原理
  10. 硬件平台选型(1)---SDM 660 VS SDM670
  11. 项目模板参数化(上)
  12. 关于原型污染漏洞的完整指南
  13. 多线程之线程池复习总结
  14. 音视频开发音频处理技术
  15. 面向对象,局部变量和成员变量
  16. css的变量教程,更强大的css
  17. 用户手册(User Manual)书写规范
  18. 什么是智能DNS云解析?云解析如何实现智能解析效果?
  19. Oracle中Minus的使用
  20. volatile busy wating

热门文章

  1. IDEA(2018)连接MySQL数据库失败的解决方法(报错08001)
  2. 【实践】美团外卖广告智能算力的探索与实践
  3. 机器学习-1-.py文件的导入问题
  4. 在arxiv上看到自己的投稿署了别人的名字是什么体验?
  5. Embedding 技术在推荐系统中的应用实践
  6. ajax发送请求和数据返回,Ajax发送和接收请求
  7. 插件怎么用_【Anki插件篇】(01)插件介绍
  8. 检验多重共线性matlab_异方差太难?检验通不过?横截面分析难题的十大暴击!...
  9. Leetcode每日一题:724.Find Pivot Index(寻找中心索引)
  10. 梯度下降法and实战