【问题标题】:Does pubnub affect the concurrency of my rails application?pubnub 会影响我的 rails 应用程序的并发性吗?
【发布时间】:2015-06-14 16:10:57
【问题描述】:

我从railscast #401 中了解到,长期连接实际上占用了 Rails 服务器中的线程。而 puma 服务器可以最佳地处理 20-30 个并发连接。这是否意味着我必须剥离许多 Heroku 实例才能让我的 rails 应用程序支持(例如 1K - 5K 人聊天?)。

还是因为所有聊天连接都直接连接到Pubnub的服务器而不影响?

【问题讨论】:

  • 嗨,克里斯,根据您的实施情况,问题的答案会有所不同。如果您在应用程序中仅初始化一个 Pubnub 客户端,它最多只会保持打开一两个连接(一个用于订阅事件,另一个用于非订阅事件)。另外,您确定要通过您的服务器传递整个流量吗?在客户端使用 JS SDK 聊天会不会更方便,让客户端的浏览器直接连接到我们的服务器,减轻你的负担?
  • Chris,正如 Tomasz 所指出的,为什么您需要在聊天中使用 Heroku/Rails 服务器应用程序?为什么不像这种用例的意图那样让 JavaScript 客户端(您的客户)彼此点对点聊天。有一些你希望你的服务器参与的有效用例,但我可能会建议一种不同的方法。请提供更多详细信息,说明为什么您需要您的服务器参与聊天。

标签: ruby-on-rails heroku pubnub


【解决方案1】:

是的,您是对的,您的最终用户(浏览器客户端)将通过 PubNub 连接(发布/订阅)而不涉及您的服务器。

换句话说,您不需要让您的 Rails/服务器充当订阅者。只需使用the appropriate PubNub JavaScript 提供网页,您的客户就可以直接相互聊天,而无需涉及您的服务器。

以下链接中的一个示例中的这张图片是一个很好的说明

以下是一些应该有用的链接:

【讨论】:

    猜你喜欢
    • 2019-06-19
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多