《周志明的软件架构课》学习笔记 Day15

主动学习

负载均衡

集群部署的特点

信息系统都需要利用多台机器来扩展服务能力,希望用户的请求不管连接到哪台机器上,都能得到相同的处理。

必须对用户一侧保持足够的透明,即使请求背后是由一千台、一万台机器来共同响应的,这也都不是用户会关心的事情,用户需要记住的只有一个域名地址而已。

负载均衡器Load Balancer

四层负载
数据链路层负载均衡
网络层负载均衡
应用层负载均衡

七层负载

均衡与实现

轮循均衡(Round Robin)
权重轮循均衡(Weighted Round Robin)
随机均衡(Random)
权重随机均衡(Weighted Random)
一致性哈希均衡(Consistency Hash)
响应速度均衡(Response Time)
最少连接数均衡(Least Connection)

另外,从实现角度来看,负载均衡器的实现有“软件均衡器”和“硬件均衡器”两类。

在软件均衡器方面,又分为直接建设在操作系统内核的均衡器和应用程序形式的均衡器两种。前者的代表是 LVS(Linux Virtual Server),后者的代表有 Nginx、HAProxy、KeepAlived,等等;前者的性能会更好,因为它不需要在内核空间和应用空间中来回复制数据包;而后者的优势是选择广泛,使用方便,功能不受限于内核版本。

在硬件均衡器方面,往往会直接采用应用专用集成电路(Application Specific Integrated Circuit,ASIC)来实现。因为它有专用处理芯片的支持,可以避免操作系统层面的损耗,从而能够达到最高的性能。这类的代表就是著名的 F5 和 A10 公司的负载均衡产品。

写在最后

真正的大型系统的负载均衡过程往往是多级的。比如,在各地建有多个机房,或者是机房有不同网络链路入口的大型互联网站,然后它们会从 DNS 解析开始,通过“域名” → “CNAME” → “负载调度服务” → “就近的数据中心入口”的路径,先根据 IP 地址(或者其他条件)将来访地用户分配到一个合适的数据中心当中,最后到服务端的各式负载均衡。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值