因为每个人都说不推荐主人。
但是,如果你想一想… 1写服务器是不够的!
那么,你将如何设置它(高级别,而不是教程级别),以便它运行良好?
当我想到的时候,我意识到一个可写的服务器是充足的。 HA负责提供可用性,分片负责处理容量。
即使你有一些荒谬的应用程序需要做数万亿次的写入,但是通过某种循环接口可以获得大量的未连接的服务器,而将数据稍后再组合受控的环境…当你像这样受到重创时,几乎没有办法确保复制。
但最终,大部分数据库应用程序与读取操作相比不会执行很多写操作。
我想你会发现,你的大部分问题都可以通过其他方式解决:例如
select排在后面的更新需要时间:
太多select1机器处理:
鉴于世界上一些最大的网站都是由单一的主实例运行的,你的前提是有缺陷的。 解决你的问题的方法是插入一个caching层(非持久数据的memcached和类似CouchDB的持久数据),避免数据库像鼠疫一样。 放入asynchronous进程以将数据插入到数据库中,并意识到用户很less需要查看最新的数据…几秒钟或几分钟后就可以了。 分拆和多主设置只是解决架构变化的灵丹妙药,而这些变更确实会加速您的系统。