HAProxy,智能分流的负载均衡方案

本文探讨了使用Nginx和HAProxy优化Rails应用的方法。通过引入HAProxy实现智能负载均衡,监测后端服务器状态,并结合Memcached缓存策略,有效提升系统的稳定性和响应能力。

以前说过,我最喜欢的一个跑Rails的方式是Nginx在前面,后端采用mongrel或者thin,采用nginx的原因不在多说,想详细了解 nginx的参考我以前的文章,按照道理来说,这样的方案已经很不错了,如果再加上memcached做cach,应该可以顶住不小的压力了。
但是其当时也说到,Nginx的负载均衡到目前为止还是比较简单的轮训算法,他不会检测后端的mongrel是否压力过大,或者是否已经down下去了,这样就会初选,如果其中的一个mongrel挂掉了,nginx还是会把请求分过去的,这样就存在一个问题。

于是就有这么一个需求,能不能监控到后端的mongrel的状况,做智能分发呢?啊哈,是的,可以,HAProxy就可以做到这点。先看个改进版的架构。

ok, 比较清晰吧,Nginx接收到请求后,放到RequestQueue中,然后HAProxy从queue中取请求,智能的分发给后端的 App.Server。如此处理的好处就是HAProxy可以判断后端App.Server的负载情况以及是否down机情况,然后做智能分发。

OK,比较清晰了,我们再把Memcached加上,再加上智能判断一台服务器Down掉的情况,我再画个图片,如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值