设置主-主装备的最佳方法是什么?

设置主-主装备的最佳方法是什么?

因为大家都说不推荐master-master。

但是如果你仔细想想... 1 个写入服务器是远远不够的!

那么,您将如何设置它(高级,而非教程级别)以使其运行良好?

答案1

当我思考这个问题时,我意识到一个可写服务器就足够了。HA 负责可用性,而分片负责容量。

答案2

即使您有某种需要进行数万亿次写入的荒谬应用程序,您最好还是通过某种循环接口提供一些不相连的服务器,然后在更受控制的环境中合并数据...当您受到这样的重击时,几乎没有办法确保复制。

但最终,与读取相比,大多数数据库应用程序不会执行很多写入操作。

答案3

我想你会发现你的大多数问题都可以通过其他方式解决:例如

SELECTS 排队在 UPDATES 后面,耗时较长:

  • 切换到 InnoDB

选择太多,一台机器无法处理:

  • 选择主服务器 -> 多个从服务器的设置。这样维护起来更容易,你只需要修改应用程序以写入一个数据库并从另一个数据库中选择。

答案4

鉴于世界上一些最大的网站都运行在单个主实例上,您的前提是有缺陷的。解决问题的方法是插入一个缓存层(memcached 用于非持久性数据,CouchDB 等用于持久性数据),并尽量避免使用数据库。实施异步流程将数据插入数据库,并意识到用户很少需要查看最新的数据……落后几秒或几分钟通常没问题。分片和多主设置只是解决真正加快系统速度的架构变化的灵丹妙药。

相关内容