pubnub会影响我的rails应用程序的并发性吗?
问题描述:
我从railscast #401读到,长时间的连接实际上占用了rails服务器中的线程。 Puma服务器可以优化地采用20-30个并发连接。这是否意味着我将不得不分离Heroku实例以支持我的Rails应用程序(例如,1K-5K人在聊天?)。pubnub会影响我的rails应用程序的并发性吗?
还是不影响,因为所有的聊天连接都直接与Pubnub的服务器相连?
答
是的,您是正确的,您的最终用户(浏览器客户端)将通过PubNub连接(发布/订阅)而不涉及您的服务器。
换句话说,你不需要让你的Rails /服务器充当订户。只需要为您的客户提供the appropriate PubNub JavaScript的网页即可直接与对方聊天,而不会涉及您的服务器。
这从在下面的链接的例子的一个图像是一个很好的例子
这里有一些链接,应该是有帮助:
嗨克里斯,回答这个问题将根据您的实施不同。如果您只在应用程序中初始化一个Pubnub客户端,它最多只会保留一个或两个连接(一个用于订阅事件,另一个用于非订阅事件)。另外,您确定要通过服务器传递整个流量吗?在客户端使用JS SDK进行聊天会不会很容易,因此客户端的浏览器直接连接到我们的服务器,从而减轻了您的负担? –
Chris,Tomasz指出,为什么你需要你的Heroku/Rails服务器应用程序参与聊天?为什么不只是让JavaScript客户端(你的客户)与对方聊天,就像这种用例的意图一样。有一些有效的用例需要你的服务器参与,但我可能会建议一种不同的方法。请提供关于为什么需要您的服务器参与聊天的更多详细信息。 –