mysql负载均衡怎么做 数据库做负载均衡( 二 )


2. 工作在网络4层 , 通过VRRP协议(仅作代理之用),具体的流量是由linux内核来处理,因此没有流量的产生 。
3. 稳定,可靠性高,自身有完美的热备方案(Keepalived+lvs)
4. 不支持正则处理,不能做动静分离 。
5. 支持多种负载均衡算法:rr(轮询) , wrr(带权轮询)、lc(最小连接)、wlc(带权最小连接)
6. 配置相对复杂 , 对网络依赖比较大 , 稳定性很高 。
7. LVS工作模式有4种:
(1) nat 地址转换
(2) dr 直接路由
(3) tun 隧道
(4) full-nat
1. 工作在网络7层,可以针对http应用做一些分流的策略,比如针对域名,目录结构
2. Nginx对网络的依赖较小,理论上能ping通就能进行负载功能
3. Nginx安装配置比较简单,测试起来很方便
4. 也可以承担较高的负载压力且稳定 , nginx是为解决c10k问题而诞生的
5. 对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测
6. Nginx对请求的异步处理可以帮助节点服务器减轻负载压力
7. Nginx仅能支持http、https和Email协议,这样就在适用范围较小 。
8. 不支持Session的直接保持,但能通过ip_hash来解决 。对Big request header的支持不是很好 。
9. Nginx还能做Web服务器即Cache功能 。
1.支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机;
2.能够补充Nginx的一些缺点比如Session的保持 , Cookie的引导等工作
3.支持url检测后端的服务器出问题的检测会有很好的帮助 。
4.更多的负载均衡策略比如:动态加权轮循(DynamicRoundRobin),加权源地址哈希(Weighted SourceHash),加权URL哈希和加权参数哈希(WeightedParameterHash)已经实现
5.单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度 。
6.HAProxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡 。
7.支持负载均衡算法:Round-robin(轮循)、Weight-round-robin(带权轮循)、source(原地址保持)、RI(请求URL)、rdp-cookie(根据cookie)
8.不能做Web服务器即Cache 。
【mysql负载均衡怎么做 数据库做负载均衡】 1. 负载能力
lvs抗负载能力最强,因为仅作分发不处理请求,相当于只作转发不做进一步处理直接在内核中完成,对系统资源消耗低(LVS DR模式);
nginx和haproxy相对来说会弱 , 但是日PV2000万也没什么问题 , 因为不仅接受客户端请求,还与后端upstream节点进行请求并获取响应,再把响应返回给客户端 , 对系统资源和网络资源消耗高;
注:建议如果公司网站流量日PV在2000万以上,并发在7 , 8万以上才考虑用lvs+keepalived架构
2. 功能性
lvs仅支持4层tcp负载均衡,haproxy可以支持4层tcp和7层http负载均衡 , nginx可以支持7层http负载均衡(新版本也支持7层负载均衡);
nginx功能强大,配置灵活,可做web静态站点,静态缓存加速,动静分离 , 并支持域名 , 正则表达式,Location匹配,rewrite跳转,配置简单直观明了 , 还可以结合etc或consule做发布自动化上下线等等;
haproxy相对nginx的7层负载均衡会弱一些,灵活性不足,个人建议一般用haproxy做TCP负载均衡更合适一些;
3. 运维复杂度
lvs相对来说部署架构更复杂一些,lvs对网络是有要求 , lvs必须与real server在同一个网段,也更费资源,需要多2台服务器成本;
nginx和haproxy部署架构更简单,对网络也没要求,更便于后续维护;
像对于大型的,需要进行高并发的网站或者对网络不太严格的时候 , 可以使用nginx;

推荐阅读