我们希望托管大约 50-100 个 Rails 应用程序。处理此问题的最佳服务器模型是什么?我所说的服务器模型是指每个站点的多个负载平衡服务器或小型 VPS 等。
我使用了“mod_rails”,一个很好的估计是每个站点将在 100mb 左右的内存下运行。
任何建议将不胜感激。
答案1
虽然我是一个虚拟化迷,但如果这些 Rails 应用程序都在一个“管理域”中(即您负责让它们全部运行,而不是为各种需要不时做自己事情的不同开发人员托管它们),我认为一台物理机器会最有效。如果机器很大,而且所有网站负载都很轻,那么您可能能够在一台机器上运行所有网站。
使用 VPS 路线涉及相当大的开销,每个运行一个 100MB 的进程,以及磁盘空间和运行 50-100 个额外操作系统副本(需要修补、管理等)的麻烦因素 - 即使有可靠的自动化(无论您的情况如何,我都强烈推荐)管理 100 台机器的工作量也要比管理 1 台机器大得多。
另一方面,如果您托管 50-100 个来自不同开发人员的随机 Rails 应用程序,这些开发人员自己会进行一些系统管理,那么 VPS 就会变得更加有用。
答案2
设置几个具有适当分配的虚拟专用服务器或几个专用服务器并将它们分散开来,但除非真的需要,否则不要让自己变得过于复杂。
使用优质 VPS 的优势在于,您将能够访问多核、具有良好 I/O 的冗余 HDD,而使用专用服务器则可能成本更高,需要设置 RAID-10、不错的四核处理器和足够的内存。