我有一个不同层次的networking应用程序:
现在它们都在同一台主机上运行。 但是,如何添加另一台服务器来处理更高的负载?
在进一步扩展之前,我应该分离angular色(db&web)吗?
PS让我们简化问题并忽略此问题中的高可用性问题。
PPS数据库现在不是瓶颈。 我真的想要添加更多的Web服务器,请帮助
@gotts:扩展小型网站的规范方式看起来像这样:
首先:拆分为2台服务器,一台运行HTTP服务器和Web应用程序代码(Web应用程序),另一台用于数据库。 数据库服务器应该针对数据库工作负载进行优化,即大量RAM,快速磁盘I / O,快速CPU。
然后:从Web应用程序服务器卸载静态文件服务器,将其卸载到其他服务器或内容传送networking。 考虑禁用webapp服务器上的HTTP KeepAlive。
然后:移至至less4个服务器的设置:
布拉德·菲茨帕特里克(Brad Fitzpatrick)的这个演讲在第一页显示了典型的进展 如果这一切对你来说都是新鲜事,那么也许你应该考虑雇佣一个在…之前完成这个工作的系统pipe理员。:-)
现在它们都在同一台主机上运行
愚蠢的想法,或? 我的意思是 – 如果只有一个主机开始,LOAD BALANCER在列表中做了什么? 这是对我来说完全没有意义的一个项目。
首先分开angular色。 特别是由于要求差别很大(更大的数据库需要更多的IOPS,这意味着许多光盘)。
然后重新编程,以便多个Web服务器可以轻松共存。
最后根据需要添加负载平衡器,或者使用DNS循环。
为了安全和性能,我倾向于将传入的http处理推送到表示层(1个或更多的服务器)。 静态内容可以在表示层中提供。 而且你的数据库/业务逻辑也不太容易受到攻击。