博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HAProxy,智能分流的负载均衡方案
阅读量:2237 次
发布时间:2019-05-09

本文共 528 字,大约阅读时间需要 1 分钟。

以前说过,我最喜欢的一个跑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掉的情况,我再画个图片,如下:

转载地址:http://lxtbb.baihongyu.com/

你可能感兴趣的文章
深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
查看>>
深入理解JVM虚拟机13:再谈四种引用及GC实践
查看>>
Spring源码剖析1:Spring概述
查看>>
Spring源码剖析2:初探Spring IOC核心流程
查看>>
Spring源码剖析5:JDK和cglib动态代理原理详解
查看>>
Spring源码剖析6:Spring AOP概述
查看>>
【Linux】进程的理解(二)
查看>>
【C++】STL -- Vector容器的用法
查看>>
【Linux】Linux中的0644 和 0755的权限
查看>>
【数据结构】有关二叉树的面试题
查看>>
【Linux】内核态和用户态
查看>>
【Linux】HTTP的理解
查看>>
【Linux】HTTPS的理解
查看>>
【操作系统】大小端问题
查看>>
Git上传代码时碰到的问题及解决方法
查看>>
【Linux】vim的简单配置
查看>>
【C++】智能指针
查看>>
【C++】const修饰的成员函数
查看>>
【C++】面向对象的三大特性
查看>>
【C++】智能指针(后续)
查看>>