绑定平衡器在带有websocket支撑的Bind级别上?

时间:2016-01-24 10:03:25

标签: node.js nginx websocket load-balancing scalability

我正在尝试最终解决使用Nginx扩展大型NodeJS / MongoDB,实时,现代应用程序的最佳,最有效,可能低成本方法的问题。我没有这样的应用程序,它是严格的理论:我认为从一开始就学习并以正确的方式做到这一点很好,所以在将来成长的情况下很容易扩展。

下面是我设法弄清楚的“思考”模式。我试图考虑这种基础设施的最重要方面,但不包括应用程序本身(优化mongoDB查询等)。我认为该应用程序是通用的,因此它可能适合像Facebook一样的社交网络或类似IMDB的应用程序。

这个想法是,所有你需要做的 - 为了有效扩展 - 只需添加更多适当类型的服务器。架构如下(对于高分辨率img,click here):

The infrastructure schema

我的问题是,如何添加更多(P)roxy服务器,所以在离线的情况下,这台机器有一些工作替代品?换句话说,是否可以在Bind中添加一些更多的记录A,并使其以某种方式支持websockets,与上游部分中的Nginx IP_HASH指令类似?在Bind级别使用负载均衡器(支持Websockets)来增强所有应用程序是完美的。

Bind9使用round-rubin来提供正确的A记录(如果很多),但它被定义为ciclic。

;; A records section
proxy1  IN  A  192.168.1.1
proxy2  IN  A  192.168.1.2
proxy3  IN  A  192.168.1.3
proxy4  IN  A  192.168.1.4

如何处理包含许多A记录服务器的websockets(使用nginx作为代理服务器)?

干杯!

麦克

0 个答案:

没有答案