【发布时间】:2020-12-30 05:36:18
【问题描述】:
我正在考虑将我的应用部署迁移到 Heroku,并且我想在努力迁移之前确定它是否可以按照基本计划正确运行。基本计划将 Redis 限制为 20 个连接。
我根本不了解 Rails/Redis 连接架构。是否存在到 Actioncable 的单个连接,然后分发数据,或者是每个实际客户端的连接(即每个浏览器选项卡一个连接)?
【问题讨论】:
-
好问题。在我努力确定一些标记为“Actioncable”的 Redis 连接的目的时,整个网络还没有得到足够的覆盖
-
@Maxence,Actioncable 是 Rails 的 websocket 实现,并且(通常?)据我所知使用 redis 作为分发实时数据的方式。
-
嗨@ElTea 我想知道有多少客户端用于多个交流连接。实际上,在我将它们全部命名后,我在 Redis 中看到了一些不同的 Actioncable 连接(Sidekiq、Rails 应用程序 Redis;ActionCable ..)。我想知道可以创建多少客户。该线程reddit.com/r/rails/comments/hz14wg/… 和 Mathhew Oriordan 的回答清楚地表明 Actioncable 仅跨 2 个 redis 连接进行多路复用。然后我刷新了我的 Redis DB,这似乎是准确的。我会再次监控,看看是否创建了超过 2 个 Redis 客户端
-
我还使用多个 Redis 数据库对 Redis 进行了命名空间。所以我猜我看到的一些交流连接属于我在我的机器上作为开发运行的不同应用程序。现在我已经把所有东西都清理干净了,我希望我的应用程序能坚持 2 个 AC 客户端。在本地或从裸机提供服务时没有问题,但在 Heroku 上只有 20 个连接可用,或者必须为额外的 redis 客户端支付大量资金。
标签: ruby-on-rails redis actioncable