【问题标题】:What are benefits of standalone ActionCable server?独立的 ActionCable 服务器有什么好处?
【发布时间】:2018-10-24 14:00:51
【问题描述】:

Rails 指南描述了使用常规 Rails 应用程序运行 ActionCable 独立服务器的机会。但我想了解这种方法在 docker 容器中运行 Rails 应用程序的好处。例如,为什么它可能对缩放有用?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-5 actioncable


    【解决方案1】:

    主要好处是关注点和冗余的分离。拥有独立的 ActionCable 服务器可以让您完全独立于 Rails 服务器进行扩展。

    例如,假设您的 ActionCable 代码中存在内存泄漏问题,并且它与 Rails 服务器部署在同一个容器中。它最终会使整个应用程序崩溃。如果它被分离,Rails 服务器仍将运行,同时您可以修复内存问题并重新部署 ActionCable 服务器。

    最好将 ActionCable 服务器视为 WebSocket 服务器,因为它确实如此。从理论上讲,这种关注点分离允许您相对快速地更改 WebSocket 服务器的框架,也许是用 Go 编写的。实际上,尽管 ActionCable 与 Rails 代码高度集成,所以并不是那么直接,但这是其背后的主要思想之一。

    在冗余方面,假设您获得的 HTTP 请求数量是 WS 请求的 10 倍(即使它们不完全可比)。如果服务器在容器中分离,我们可能不希望以相同的速率扩展 Web Rails 服务器和 ActionCable 服务器。这允许我们假设有 6 个 Rails 服务器容器,而只有 2 个 ActionCable 服务器容器,从而节省资源。

    【讨论】:

      猜你喜欢
      • 2017-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 2020-08-13
      相关资源
      最近更新 更多