网站首页 > 精选教程 正文
在大型的网站服务器集群中,负载均衡技术是必不可少的。使用负载均衡的技术架构,能够有效避免后端服务出现单点故障,提升服务的稳定性。
负载均衡简介
负载均衡构建在现有网络结构之上,可以方便有效地扩展服务器资源。通常将大量的并发请求分散至多个节点上分别处理,减少客户端的等待时间;也可以将单个重负载的运算分担到多个节点上做并行处理,最后进行汇总。
负载均衡作用
请求分发
请求分发即按照一定的算法将大量的并发请求分散至多个节点的服务器上处理,减轻单台服务器的压力,减少请求响应时间以及提升系统并发量。
故障转移
通过心跳机制检测判断各个服务器的状态,能够自动剔除不可用的服务器并将请求发送可用服务器,减少服务出现不可用的概率,提高可用性。
负载均衡分类
平时我们常用的有四层负载均衡和七层负载均衡,四层的负载均衡是基于IP和端口实现的,七层的负载均衡是在四层的基础上,基于URL等信息实现。
常用于四层负载均衡的软件(还有F5、NetScaler等硬件负载均衡器)有:
LVS:重量级软件,本身不支持正则表达式,部署起来比较麻烦,但是性能高,应用范围广,一般的大型互联网公司都有用到。
HAProxy:轻量级软件,支持的负载均衡策略非常多,较灵活。
Nginx:轻量级软件,支持的协议少(HTTP、HTTPS和Email协议),对于Session支持不友好。
常用于七层负载均衡的软件有:
HAProxy:全面支持七层代理,灵活性高,支持Session会话保持。
Nginx:可以针对HTTP应用进行分流,正则规则灵活,支持高并发,部署简单。
Apache:性能较差,一般不考虑。
MySQL Proxy:官方的数据库中间件,可以实现读写分离,负载均衡等功能,但是对分表分库支持不完善(可选替代品:Atlas,Cobar,TDDL)。
技术原理
四层负载均衡类似路由器的转发,通过修改报文中的目标地址和端口,然后直接转发给该服务器,只需要一个TCP连接即可。七层负载均衡通过类似于代理的机制进行转发,负载均衡服务器会分别与客户端和后端的服务器都建立TCP连接。
应用场景
四层负载均衡一般用于TCP应用中,比如基于C/S架构开发的ERP系统。七层负载均衡大多应用于使用HTTP/HTTPS协议搭建的网站和内部平台系统。
本文到此就结束了,我们明天见!
猜你喜欢
- 2024-10-15 一线互联网企业负载均衡和应用优化基础
- 2024-10-15 云原生(二十二) | Kubernetes 篇之 Ingress 案例实战
- 2024-10-15 职场必看!性能测试响应很慢怎么排查?
- 2024-10-15 haproxy,nginx,keepalived综合运用 看完不懂你来揍我
- 2024-10-15 一些针对负载均衡集群中的session解决方案
- 2024-10-15 性能测试常见瓶颈分析及调优方法 性能测试网络瓶颈定位
- 2024-10-15 深入解析Kubernetes service 概念
- 2024-10-15 基于hi-nginx的web开发(python篇)——cookie和会话管理
- 2024-10-15 【Nginx基础】一种称为“cookie粘着”的负载均衡策略
- 2024-10-15 keepalived+Haproxy解决会话保持和七层处理?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)