Rails纯粹用于API后端(所有资产都与Nginx一起提供).某些API调用依赖于其他API服务,因此有时需要一段时间才能完成.
响应式应用程序用于移动,平板电脑和桌面客户端,因此无法保证客户端的连接.
在这种情况下,您认为哪种应用服务器是合适的?选择时应该考虑哪些事项?
解决方法
理论上,Thin可以处理这种高并发工作负载,因为它使用了事件I / O.但是,这需要以事件代码的形式提供明确的框架和应用程序支持.很少有框架和应用程序这样做. Rails和Sinatra没有.
因此,这只留下支持多线程的应用程序服务器.三个竞争者是Puma,Rainbows和Phusion Passenger 4 Enterprise.
>彪马相对较新.彩虹略长,但作者不保证它是否运作良好.乘客的Phusion成熟,已存在多年,目前正在使用的超过15万网站,包括路数,如皮克斯,纽约时报,发现生活怎样,等等.
>彪马的和彩虹的使用模式是相似的,以独角兽和薄启动一堆程序,并将它们挂到Nginx的通过反向代理服务器配置.另一方面,Phusion Passenger旨在直接集成到Nginx中,因此它需要更少的配置,流程管理和其他管理开销.
> Phusion Passenger 4 Enterprise不是严格的多线程服务器,而是混合多进程/多线程服务器.这意味着它可以运行多个进程(对于增加的稳定性和使用多个CPU核的能力),每一个与多个线程(用于高I / O的并发).
>的Phusion客运4企业带来many advantages在比彪马更多的功能和彩虹:比如它具有带外的垃圾收集的,可动态调整基于流量的进程数,完全自动化滚动重新启动,所以你不需要脚本,等.
您可能还对this writeup感兴趣以获取更多信息.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。