我们在nginx层进行了kerberos身份验证,并希望作为反向代理连接到deepstream.io实例。从我对文档的阅读来看,在deepstream.io实例前面放置一个will服务器会影响性能。还有一个问题是谁来进行负载平衡--通常是在nginx层,但是deepstream.io似乎有内置的功能来要求其他实例来处理负载(通过信息传递)。
让deepstream.io实例在web服务器上运行良好的最佳方法是什么?在Node中重新实现kerberos身份验证是非常重要的。
发布于 2016-02-20 10:59:01
在Nginx、HAProxy等之后部署和负载平衡深流是可能的(也是一个好主意)。尽管有几件事需要注意:
engine.io,websockets和粘滞会话。
Deepstream使用engine.io (socket.io后面的传输层)连接到浏览器。
engine.io使用了许多不同的传输机制,最显著的是长轮询(在需要发送数据之前保持http请求打开)和WebSockets。
对于长轮询,来自同一个客户端的所有请求都被路由到同一个深流服务器上是至关重要的,因此确保在您的nginx上游组中启用了粘性/持久会话(只需添加散列指令)。对于websocket来说,将转发http更新标头。很重要。
在深水节点之间同步数据/消息
确保您的深流节点通过缓存和消息总线相互连接。您可以选择缓存和消息传递系统,但最简单的方法是对两者都使用Redis。看一看“什么是最简单的生产准备好的设置?”在https://deepstream.io/tutorials/connectors-and-deployment.html的底部。
来自其他客户端的TCP连接(如NodeJS) engine.io主要用于浏览器客户端,后端进程可以通过engine.io直接连接。在NginX中,负载平衡TCP连接是完全可能的,但需要一个配置中的额外流组。。
https://stackoverflow.com/questions/35424491
复制相似问题