古代皇帝,后宫佳丽三千,没法做到雨露均沾,但为了繁衍后代,子嗣繁盛,弱水三千,只取一瓢饮显然是不行的。不同的朝代有不同的宠幸妃子的方法,著名的有羊车望幸、掷筛侍寝、翻牌悬灯等等。如果皇帝懂得负载均衡算法的话,就大可不必这么折腾了!

讨论负载均衡,那么归根结底其要解决的问题是什么?当一台服务器的承受能力达到上限时,那么就需要多台服务器来组成集群,提升应用整体的吞吐量,那么这个时候就涉及到如何合理分配客户端请求到集群中不同的机器,这个过程就叫做负载均衡,当然这也是负载均衡要解决的问题。

按实现方式,可以分为硬件负载均衡(如 F5 、A10)、软件负载均衡(如 LVS、Nginx、HAProxy)、DNS 负载均衡。软件负载均衡又分四层和七层负载均衡,四层负载均衡就是在网络层利用 IP 地址端口进行请求的转发,基本上就是起个转发分配作用。而七层负载均衡就是可以根据访问用户的 HTTP 请求头、URL 信息将请求转发到特定的主机。LVS 为四层负载均衡。Nginx、HAProxy 可四可七。

除了专用硬件和 Nginx 这种专业软件提供负载均衡外,在代码中直接实现也是种常见的方式。比如使用 Memcached 集群时通常会在 client 中采用 hash 取模或者一致性哈希来使数据均匀分布。

在分布式系统中,多台服务器同时提供一个服务,并统一到服务配置中心进行管理。消费者通过查询服务配置中心,获取到服务到地址列表,需要选取其中一台来发起RPC远程调用。如何选择,则取决于具体的负载均衡算法,对应于不同的场景,选择的负载均衡算法也不尽相同。负载均衡算法的种类有很多种,常见的负载均衡算法包括轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连接法等,应根据具体的使用场景选取对应的算法。

2月2日~4日晚八点,架构师Tony老师将开启全新训练营《.Net5+负载均衡算法实战 》,Tony老师在JD、艺龙等知名互联网企业拥有过丰富的高并发、高可用实战经验,此次课程,案例全部来自于企业实战场景,耗时两周研发,全网首发!本号粉丝,一律免费学习,内容很干,赶快抢!!!

长按扫码,免费入群学习

如遇扫码失败,请添加下方微信

微信号:ruanmou_xy

10000分钟学习资料免费领

感谢大家长期以来的支持与关注!年底了,给大家送一波超级福利,扫下方二维码入群即可获取超10000分钟全套学习资料。此视频合集涵盖.Net5,技术架构和系统架构技术栈全面讲解,能够快速提升架构思维能力。

长按扫码,免费入群学习

如遇扫码失败,请添加下方微信

微信号:ruanmou_xy

后宫佳丽三千,假如古代皇帝也懂负载均衡算法...相关推荐

  1. 假如古代皇帝也懂负载均衡算法

     大家都知道古代皇帝各个都是后宫佳丽三千,而皇帝身上都天然的带着雨露均沾的精神,不想单独的宠爱一人!   溺水三千,又怎舍得只取一瓢饮?据传皇帝们晚上睡觉个个都怕冷,因此每晚都需要有人侍寝,那么这么多 ...

  2. 自古帝王多短命,假如皇帝也懂负载均衡算法...

    " 大家都知道古代皇帝各个都是后宫佳丽三千,而皇帝身上都天然的带着雨露均沾的精神,不想单独的宠爱一人! 来自:51cto技术栈 弱水三千,又怎舍得只取一瓢饮?据传皇帝们晚上睡觉个个都怕冷,因 ...

  3. 10分钟带你彻底搞懂负载均衡

    文章目录 十分钟搞懂系列 负载均衡是如何保证软件系统的生产部署的? 负载均衡分发策略 请求由谁来分发? 服务器端负载均衡器 客户端负载均衡 请求分发到哪去? 静态负载均衡算法 动态负载均衡算法 十分钟 ...

  4. 一文搞懂负载均衡中的一致性哈希算法

    一致性哈希算法在很多领域有应用,例如分布式缓存领域的 MemCache,Redis,负载均衡领域的 Nginx,各类 RPC 框架.不同领域场景不同,需要顾及的因素也有所差异,本文主要讨论在负载均衡中 ...

  5. 看完这篇就全懂负载均衡了

    目录 一.什么是负载均衡? 二.四层和七层负载均衡的区别? 2.1 - 技术原理上的区别. 2.2 - 应用场景的需求. 2.3 - 七层应用需要考虑的问题. 三.负载均衡的算法? 1.随机算法 2. ...

  6. 万字雄文讲透现代网络负载均衡和代理技术,终于弄懂负载均衡那点事

    2019独角兽企业重金招聘Python工程师标准>>> 最近我注意到,针对负载均衡和代理这两项现代网络技术,有教育意义的介绍性材料相当稀缺.这引起我的思考:为什么会这样?在可靠的分布 ...

  7. RPC基础之负载均衡算法一文全搞懂

    文章目录 前言 一.轮询法 二.随机法 三.地址哈希法 四.权重法 五.最小连接数法 六.拓展 结语 前言 在微服务的技术体系中,服务消费者从配置中心获取到服务的地址后,需要选择其中的一台服务器发起R ...

  8. 五分钟让你搞懂Nginx负载均衡原理及四种负载均衡算法

    前言 今天这篇文章介绍了负载均衡的原理以及对应的四种负载均衡算法,当然还有对应的指令及实战,欢迎品尝.有不同意见的朋友可以评论区留言! 负载均衡 所谓负载均衡,就是 Nginx 把请求均匀的分摊给上游 ...

  9. 详解【负载均衡】(负载均衡算法、一致性hash、负载均衡架构分析)

    作者:duktig 博客:https://duktig.cn 优秀还努力.愿你付出甘之如饴,所得归于欢喜. 本文源码参看:https://github.com/duktig666/distribute ...

最新文章

  1. C++11中的Lambda表达式
  2. 线程的调度有抢占式或者非抢占 (转)
  3. 微软的system类库和java_Java常用类库----System 类
  4. ML+DM顶会时间(2020)
  5. javascript的MVC三层架构(案例之分页插件)
  6. Oracle 工具权限二
  7. 【SVN】版本冲突处理之设置needs-lock:true属性
  8. 2018年机器学习趋势与Apache Kafka生态系统相结合
  9. bootstrap table 怎么实现前两列固定冻结?
  10. php post 二维数组,php curl模拟post请求和提交多维数组的示例代码
  11. linux增加临时编译bin,Linux Rpmbuild 包制作
  12. linux如何磁盘管理工具下载,Linux_Linux系统的磁盘空间管理工具, 1.fdisk -lDis - phpStudy...
  13. java调用后台的短信验证码_JAVA通过http调用验证码短信接口源码
  14. 微信公众号网页跳转及获取用户信息的接口设计
  15. sql:mysql:分析为什么like模糊查询效率低
  16. 了解BigBoss之如何添加BigBoss的Cydia源地址
  17. java中insteadof_Java代码规范小结(一)
  18. scipy库 signal 导入_Python scipy.signal方法代码示例
  19. 微信奇销36计 赖老师
  20. python淘宝_python实现淘宝购物系统

热门文章

  1. thinkpaidE480office安装文件夹
  2. linux进阶命令2
  3. AM335x 添加 HUAWEI MU609 Mini PCIe Module,并用pppd 启动相关设备
  4. 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
  5. OpenGL中shader使用
  6. postgresql 修改字段名称
  7. JSFL 获取当前脚本路径,执行其他脚本
  8. js模版引擎handlebars.js实用教程——with-终极this应用
  9. What's blocking my lock? 转载
  10. mac java tomcat_mac idea 配置tomcat