问题描述
我正在考虑将我的应用程序部署迁移到Heroku,并且在尝试进行迁移之前,我想确定它是否可以在基本计划上正确运行。基本计划将Redis限制为20个连接。
我从根本上不了解Rails / Redis连接体系结构。是与Actioncable建立单一连接,然后分发数据,还是每个实际客户端建立连接(即,每个浏览器选项卡都有一个连接)?
解决方法
作为per the docs,
单个用户将在其打开的浏览器选项卡,窗口或设备上创建一对消费者连接。
ActionCable使您可以使用连接标识符来识别连接,在大多数情况下,该连接标识符通常是称为current_user的全局对象。使用这种方法,您以后可以检索给定用户的所有打开的连接(如果删除或未经授权或打开的连接太多,则有可能断开所有连接)。
此外,请注意,ActionCable使用工作池来独立于服务器主线程运行连接回调和通道操作。