套接字集群与Pub Sub on Cloud

时间:2017-12-04 08:08:00

标签: websocket redis netty publish-subscribe socketcluster

我正在为webApp创建一个传输层来前端。用户可以通过移动应用程序,浏览器进行连接。传输层面向多个应用程序,包括聊天应用程序,多页面Web应用程序,通知和电子邮件服务器。规模约为4000个并发用户。少数场景不同的服务可能还需要彼此交互。例如聊天服务器可能会发送电子邮件。

我正在为此传输层寻找最佳设计。整个系统需要部署在云上,但需要独立于供应商。

我的设计: 1.通过NettoSphere(https://github.com/Atmosphere/nettosphere)或Netty创建套接字,使用FallBacks进行HTTP轮询。 2.将套接字层与像Redis一样的Pub / Sub连接(现在使用Cloud的Pub / Sub)。每个功能服务器(电子邮件,聊天等)都有自己的频道。

疑惑: 我是否过度使用它?我可以使用的架子库是否已经准备就绪?我搜索过但找不到。我觉得这应该是一个常见的用例,应该有一些现成的东西。 2.对于Java,Nettosphere会在整个集群中扩展吗?或者我应该在Node.js中使用SocketCluster。我对Java更加自在。

1 个答案:

答案 0 :(得分:0)

使用WebSockets从头开始实现简单的pub / sub并不太困难。

但是,一旦引入了身份验证和/或可伸缩性要求,问题就变得非常困难。如果您认为您的系统可能需要这两个功能中的任何一个,那么SocketCluster应该可以为您节省大量时间。