尽管我有很多编写代码的经验。我没有太多的部署经验。我正在编写一个项目,该项目使用mongodb进行持久化,redis进行元缓存,并播放服务页面。我正在决定是否购买专用服务器与从亚马逊/林德购买多个小型/中型实例(每种都有一个,mongo,redis,play)。我想到了如下的权衡,我想知道是否有人可以添加到列表中或提供进一步的见解。我倾向于(b)从linode和amazon购买两套实例,因此如果其中一个实例出现故障,它将故障转移到另一个提供商。此外,如果任何人有任何提示部署scala/maven群集或工具来做到这一点,非常感谢。为服务/数据/缓存部署多个实例的好处
A.把一切都放在一个实例
优点:
- 更快的数据库和网页的servlet(同一主机)之间的速度。
- 便宜。
- 较少的端点以确保安全。
缺点:
- 更难管理。 (在我看来)
- 难以升级单个模块。如果存在安装问题,可能会导致整个系统无法运行。
B.把每个模块(蒙戈,Redis的,播放)在不同的情况下
优点:
- 分片更容易。
- 更容易为一个目的创建群集。 (即redis集群)
- 更容易在模块之间分配资源。
- 不太可能一切都会一次失败。
缺点:
- 模块之间的带宽 - > $
- 固定每个连接和结束点。