我正在构建一个小型 Web 应用程序,该应用程序最初将托管在 EC2 Micro 实例上(内存严重受限,613Mb RAM)。当我设置它时,它会要求一个 RAM 组件,它将加载它可以容纳的所有数据库数据。
这最初不会是一个问题,因为我估计我的启动客户的数据总量不会超过 20Mb。
但是,如果一切进展顺利,我可能会升级到更大的实例,以后我可能想要集群专用的内存基础虚拟机。
我的问题是:我现在该如何设置,以便当我想要迁移到以下位置时不会让自己陷入困境:
- 更大的机器
- 一组机器?
当我到达这些关键时刻时,升级路径将会是什么样的?
答案1
实际上,添加节点(以及与现有节点相似的节点)比在生产环境中更改节点要容易得多,尽管您可以同时进行这两项操作。此外,将数据分散到各个节点的好处是,您将获得数据和 I/O 的分布。由于 Membase 速度非常快,因此它通常首先受到网络限制。此外,更多节点允许复制数据,因此更有可能在不发生应用程序停机的情况下安然度过集群中的任何节点故障。因此,我建议您从小型节点(可能是微型……但可能很小)开始,然后通过添加节点进行扩展。将新节点重新平衡到集群中是轻而易举的事。