build立一个master-master rig的最好方法是什么?

因为每个人都说不推荐主人。

但是,如果你想一想… 1写服务器是不够的!

那么,你将如何设置它(高级别,而不是教程级别),以便它运行良好?

当我想到的时候,我意识到一个可写的服务器是充足的。 HA负责提供可用性,分片负责处理容量。

即使你有一些荒谬的应用程序需要做数万亿次的写入,但是通过某种循环接口可以获得大量的未连接的服务器,而将数据稍后再组合受控的环境…当你像这样受到重创时,几乎没有办法确保复制。

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

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

select排在后面的更新需要时间:

  • 切换到InnoDB

太多select1机器处理:

  • 去找一个主人 – >许多奴隶安装。 维护起来要容易得多,只需修改应用程序即可写入一个数据库并从另一个数据库中进行select。

鉴于世界上一些最大的网站都是由单一的主实例运行的,你的前提是有缺陷的。 解决你的问题的方法是插入一个caching层(非持久数据的memcached和类似CouchDB的持久数据),避免数据库像鼠疫一样。 放入asynchronous进程以将数据插入到数据库中,并意识到用户很less需要查看最新的数据…几秒钟或几分钟后就可以了。 分拆和多主设置只是解决架构变化的灵丹妙药,而这些变更确实会加速您的系统。