1

我将在接下来的几个月内推出我的应用程序,它基本上是社交网络的一个变体,但有目的。现在我没有包含任何高可用性因素或任何形式的集群或复制。最初我以为我会从一台服务器开始,因为我的请求很少,然后根据流量和请求扩展到集群。

但是在负载测试时,我看到我的数据库由于空间问题而崩溃,我花了一些时间来恢复它。因此,为了让我的应用程序持续经营,如果我的数据库崩溃、损坏或任何其他原因,我不想丢失我的数据库或任何数据。

我同时使用 MySQL 和 Neo4j,我的应用程序试图让它们保持同步。我很想在三个 Amazon 实例上分别使用 Galera MySQL 集群和 Neo4j HA 集群来实现 MySQL 和 Neo4j 集群。尽管考虑到我一开始不会有足够的流量并且我的大部分资源都会闲置(而且价格昂贵),但这似乎有点过头了。

我准备付出额外的努力,但在金钱方面我想变得聪明!请让我知道在初始阶段我是否应该选择 HA 或承担风险并对备份感到满意并满足于因故障而丢失数据。

4

1 回答 1

3

高可用性是可靠基础架构的一部分,但我认为它在我的优先级列表中远低于对自动备份、部署和监控的投资。对我来说,你的经验和问题的关键部分是,“我看到我的数据库由于空间问题而崩溃,我花了一些时间来恢复它。” 这发生在测试中,因此我不希望您一切顺利,但在配置理想的生产环境中,您会提前了解您的空间问题并根据您的条件解决它们。如果它确实发生故障,您将无法恢复,您将恢复,这将比其他任何事情都带来更多不便。

由于您担心的是正常运行时间而不是性能,因此您现在真正需要关注的是应用程序的正常运行时间预期。如果您只有一台服务器并且监控会通知您需要短暂停机的错误 - 也许您需要升级硬件,移动到新存储,安装关键补丁 - 短时间离线是否可以接受?

如果是这样,请暂时跳过 HA,并确保您拥有所有主动层。如果担心您遗漏了什么,也许可以投资一些资金用于 HA 环境中的服务器,以使您的环境坚如磐石。

如果没有,我想你有你的答案!

于 2014-12-10T12:09:41.593 回答