首页 > 创业团队负载均衡技术选型

创业团队负载均衡技术选型

我们团队在开发一款app,后端主要有http server和socket server,一般的查询之类的接口,走的http,应用开启期间,走的socket 长连接,推送内容。

========以上是背景=========

我们现在要对后端的服务进行负载均衡,一方面考虑可用,一方面提高性能。负载均衡有以下备选方案

lvs
haproxy
nginx
由于我们有tcp层的长连接,所以,单独nginx无法支持,nginx可以安装一些插件支持,但稳定性目前没有靠谱儿的说法儿。所以剩下的就是lvs和haproxy。lvs在稳定性上,性能上最佳,不过对于一些功能上的要求,比较弱了。haproxy综合了nginx和lvs的功能,所以调研一番之后,综合想选择haproxy,大家都在用什么呢?


针对HTTP部分使用nginx作为前端的soft LB,可以考虑用Tengine,可以有健康检查等功能,然后负载均衡到各WEB服务器。

socket部分,因为是长链,所以其实不仅占用了SLB的连接,还占用了socket server的连接,所以SLB发挥的作用并不大。可以考虑socket发起连接前先发一个请求到决策服务器,决策服务器根据socket服务器的负载返回连接或负载最低的服务器,让client链接相应的服务器。通讯协议中增加kick off命令,server可以kick off client,并给一个新的ip地址,让client去连接。


目前使用的是HA+keepalived+nginx+mysql,能够实现很好的负载均衡,总个人感觉这种架构足够支撑的起一般的网站!

【热门文章】
【热门文章】