我正在考虑使用Rails实现国际象棋(需要websockets),并在生产部署中使用Nginx作为一堆Unicorn进程的反向代理.
在考虑如何完成这项工作时,我得到了以下问题:
据我所知,websockets是一个持久的连接.因为一切都通过反向代理Nginx,Unicorn工作进程究竟会如何维护到客户端浏览器的websocket连接? Nginx会维护每个浏览器websocket连接到哪个Unicorn进程的状态并充当一种中介吗?在Unicorn进程中保持持久的websocket连接会阻止整个工作进程吗?
是否有推荐的方法使用Rails实现国际象棋(使用websockets)?
连接Unicorn的同步处理和使用nginx的异步传递意味着nginx方面的一些逻辑对我来说似乎至少很尴尬.最多 – 不可能.
有一个关于Private Pub gem的Railscast使用Thin webserver.它更适合这项任务:它是异步的,它能够处理许多基于事件的IO的并发请求.所以我建议你用Thin替换Unicorn或者并排安装Thin.
Puma网络服务器也可能是一个选项,但是,我无法提供更多信息.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。