![大规模 RoR 应用程序的水平与垂直扩展(高 CPU 和内存使用率)](https://linux22.com/image/634059/%E5%A4%A7%E8%A7%84%E6%A8%A1%20RoR%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%B0%B4%E5%B9%B3%E4%B8%8E%E5%9E%82%E7%9B%B4%E6%89%A9%E5%B1%95%EF%BC%88%E9%AB%98%20CPU%20%E5%92%8C%E5%86%85%E5%AD%98%E4%BD%BF%E7%94%A8%E7%8E%87%EF%BC%89.png)
我们正在推出一款高需求(数百名同时使用的用户)的 Ruby on Rails 应用程序,并试图确定最佳扩展方式。目前,我们的设置遵循以下结构:
HaProxy DDoS Protected VPS -> Three Varnish Cache VPSs ---> One Thin + Sinatra + NGINX server for the actual files
rails 应用程序非常耗费资源,包括内存和 CPU。我对 Varnish 或 HAProxy 的经验并不多,所以我不确定应该扩展哪些服务器,以及向哪个方向扩展它们。我假设我应该水平扩展(每个服务器的更多实例,稍微垂直扩展),但我不确定在这种情况下行业标准做法是什么。我还需要更好地了解负载将落在哪里,例如,Varnish 是否应该比 HAProxy 实例分配更多的资源(服务器或资源)。
我很感激任何帮助