mysql - 如果担心数据丢失,低预算的新生应用程序是否需要高可用性?

标签 mysql neo4j cluster-computing high-availability galera

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

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

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

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

最佳答案

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

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

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

如果没有,我想您已经有了答案!

关于mysql - 如果担心数据丢失,低预算的新生应用程序是否需要高可用性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27385072/

相关文章:

mysql - 转换为 Float 返回 ActiveRecord::StatementInvalid: Mysql2::Error

mysql - 当我执行从 sql server 到 mysql 的迁移时,工作台中出现以下错误

windows - 在Docker中多次挂载镜像

java - Neo4j Iterable<String> getPropertyKeys() 无限循环?这是一个错误吗?

mysql - 测试表是否存在

mysql - 如何执行多字节安全 SQL REGEXP 查询?

elasticsearch - 如何标记从 Neo4j 复制到 Elastic 搜索的数据?

hadoop - 为什么增加集群数量可以加快 Hadoop MapReduce 中的查询速度?

java - 集群系统架构?

docker - Kubernetes 不显示节点