高可用LB方案

博客讲述了线上LB服务因内存问题导致服务中断,提出优化措施,包括避免haproxy日志重启导致内存增长,设置阿里云监控与报警,以及探讨了haproxy+keepalive主从配置、LVS-DR和阿里云SLB三种高可用LB方案,以确保服务不因LB故障而中断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天的碰到一个问题,线上的LB服务因为内存问题挂掉了,导致所有的生产环境服务都直接down掉了,因为没有专业的运维,线上环境都是研发直接来管理的,这里有几个问题:

1. 导致内存不停增长,是因为每次切割haproxy的日志的时候,会通过-st的命令重启haproxy,但是因为旧的进程会管理旧的连接直至连接断开才会退出,但是我们用haproxy来代理MQTT这种长连接,所以导致进程一直残留,相当于每天多了一个进程,最终内存不够倒是服务被kill

2. 线上环境服务器的资源使用情况没有监控及报警,就算没有这个问题最后也会有类似的问题产生

3. 架构设计LB没有任何冗余,所以只有LB挂了,那整个服务肯定都会全部失联

 

然后是针对既有的问题做优化

1. 测试切割haproxy日志时不需要重启haproxy也会继续记录日志,那就不需要根据教程讲的必须重启haproxy,这样也不会有服务一直变多的问题

2. 阿里云对ECS有提供监控与报警的方案,目前已经配置每台服务器CPU,内存使用超过一定阈值都会直接钉钉+短信报警,另外对主要的一些服务的进程也做了监控,找不到进程也会直接报警

3. 对目前的架构进行优化,保证LB的高可用

 

通过查找资料,有以下几个方案:

1. haproxy + keepalive 主从配置

如上图,两台服

node节点指的是在计算机网络中,拥有自己的IP地址和网络身份的设备。在高可用群集中,node节点是指向负载均衡(Load Balancer,简称LB)的设备或服务。负载均衡是一种分摊网络流量的技术,它能够将来自于用户的请求分配给多个服务器或计算节点,从而实现资源的合理利用、提高系统的可用性和稳定性。 在高可用群集中,将node节点指向负载均衡群集是一种常用的设计方案。这是因为负载均衡能够根据服务器的运行状况和负载情况,智能地将用户的请求分配到最空闲的服务器上,以提高系统的性能和响应速度。此外,如果负载均衡群集中的某个节点发生故障或异常,其他正常的节点仍然可以接收并处理用户的请求,从而保证了服务的连续性和高可用性。 通过将node节点指向负载均衡群集,还能够实现横向扩展和负载均衡。当系统的请求量增加时,可以通过增加负载均衡群集中的节点来分担负载,保证系统的稳定性和性能。负载均衡群集还能够通过动态调整节点的权重和优先级等策略,自动地根据不同节点的资源情况进行负载均衡,避免单一节点成为性能瓶颈。 综上所述,将node节点指向负载均衡群集是一种有效提高系统可用性、稳定性和负载均衡的设计方案。通过这种方式,可以实现资源的合理利用,提高系统的性能和响应速度,同时还能够保证系统的连续性和高可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值