我有一个应用程序,它需要大约30个表的主目录,这些表需要复制到应用程序的许多(100+)从副本中。从站可能在他们自己的DB实例中,或者在单个DB实例中可能有多个从站。对主目录的任何更改都需要在合理的时间内--大约5分钟内复制到奴隶手中。我们的基础设施都是AWS EC2,我们使用MySQL。主人和奴隶都将居住在一个AWS区域内。
我曾计划使用主从复制,但我发现MySQL复制有时是不可靠的,我不确定这是由于MySQL本身的特定实现或故障固有的失败所致。我们需要一个高度自动化和可靠的系统,而且我们可能需要开发监视脚本,允许一个从属程序持续监视其相对于主目录的目录。
有观察结果吗?
发布于 2014-07-18 16:10:13
当我在婚礼前上舞蹈课的时候,教练说:“你不必把每一步都做得很完美,你只需要在失足的时候学会优雅地恢复。如果你能迅速做到这一点,脸上带着微笑,没人会注意到。”
如果您有100+副本,则希望您将频繁地重新初始化副本,可能每天至少有一到两个副本。这很正常。
所有的软件都有错误。坦率地说,期待任何不同的事情都是天真的。不要指望软件完美无缺,无限期地无限期地运行,因为你会失望的。你不应该寻求一个完美的解决方案,你应该像一个舞者一样思考,并优雅地恢复。
MySQL复制相当稳定,与其他解决方案不相上下。但是可以发生各种各样的故障,而不是MySQL的错误。
sync_binlog
可以帮助确保所有事务都在提交时写入到binlog (尽管有事务开销)。binlog_format=ROW
可以减少发生非确定性变化的可能性。设置副本read-only
会有所帮助,而且不允许用户拥有超级权限。binlog_format=ROW
。对单个MySQL母版进行较少的更改。MySQL 5.6引入了多线程副本,但到目前为止,我已经看到了一些情况,这仍然有点错误,所以要仔细测试。在连续操作中管理大量的数据库服务器需要大量的全职工作,不管您使用的是哪个品牌的数据库。但是数据已经成为大多数企业的命脉,因此有必要管理这些资源。MySQL并不比任何其他品牌的数据库更好,也不差,如果有人告诉你一些不同的东西,他们就会卖东西。
P.S.:我想知道为什么您认为您需要在一个AWS区域中使用100+副本,因为对于任何高可用性或扩展目标,这可能会造成一个数量级的过度。
https://stackoverflow.com/questions/24828330
复制相似问题