服务器负载均衡
Posted 分布式微服务技术提升
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器负载均衡相关的知识,希望对你有一定的参考价值。
网络七层协议
负责均衡作用
解决并发压力,提高应用处理性能
提供故障转移,实现高可用
通过添加或减少服务器数量,提供系统伸缩性、扩展性
安全防护,负载均衡设备上做一些过滤,黑白名单等处理
负载均衡分类
二层负载均衡(mac)
三层负载均衡(ip)
四层负载均衡(tcp)
F5:硬件负载均衡器,功能很好,但是成本很高
LVS:重量级的四层负载软件
nginx:轻量级的四层负载软件,带缓存功能,正则表达式较灵活
Haproxy:轻量级的四层负载软件,带缓存功能,正则表达式较灵活
七层负载均衡 (http)
Nginx:只在http协议和mail协议上功能比较好,性能与haproxy差不多
Haproxy:天生负载均衡技能,全面支持七层代理,会话保持,标记,路径转移
Apache:功能较差
mysql proxy:功能尚可
总的来说,一般是LVS做4层负载;Nginx做7层负载;Haproxy比较灵活,4层和7层负载均衡都能做
使用场景
高访问量业务
横向扩展系统
消除单点故障
同城容灾
负载均衡方案
1、独立的Nginx/Haproxy方案
2、LVS(DR)+ Keepalived+ Nginx方案
3、DNS轮询 + LVS(DR)+ Keepalived + Nginx方案
使用目录名分割业务系统了,而是直接将业务系统的访问使用不同的二级域名进行拆分。这样的变化有利于每个业务系统都拥有自己独立的负载均衡层
负载均衡算法
1、一致性hash算法
2、 轮询
目标节点=(N mod X)+1,N为第几个请求,X为总节点数
3、 加权轮询
以上是关于服务器负载均衡的主要内容,如果未能解决你的问题,请参考以下文章