Rails websocket 连接ID存储
Posted
技术标签:
【中文标题】Rails websocket 连接ID存储【英文标题】:Rails websocket connection ID storage 【发布时间】:2018-07-19 12:56:25 【问题描述】:我搜索了Web socket rails gem,但无法确定频道的连接 ID 是存储在 redis 服务器上还是存储在 rails 内存中。任何人都知道它的存储位置。
基本上,我们希望通过添加更多实例来扩展我们的服务器,这就是我们希望确保用户的连接 ID 或 Channels 和连接 ID 的映射存储在 redis 上而不是 rails 应用程序服务器上的原因。
【问题讨论】:
【参考方案1】:我没有使用过那个 gem,但据我在他们的代码上看到的:
https://github.com/websocket-rails/websocket-rails/blob/master/lib/websocket_rails/channel.rb
频道的标识符是@name
,可以通过Rails 访问。不确定这是否有帮助。也许如果你举例说明你想用频道 ID 做什么,有人可以提供帮助
【讨论】:
基本上我们希望通过添加更多实例来扩展我们的服务器,这就是我们希望确保用户的连接 ID 存储在 redis 上而不是 rails 应用程序服务器上的原因。以上是关于Rails websocket 连接ID存储的主要内容,如果未能解决你的问题,请参考以下文章
Rails5 + ActionCable:与'ws:// {hostname} / cable'的WebSocket连接失败:WebSocket在建立连接之前关闭
为啥 websocket-rails 需要作为独立服务器启动以支持基于非事件机的 Web 服务器?
Rails + ActionCable + Passenger + AWS Elasticache (Redis):如何修复“WebSocket 在建立连接之前关闭。”在生产?