前言:我承认这是一篇标题党,这篇文章只是我接手的一个烂尾楼(业务复杂缺没有文档,项目开发需求换人频繁)项目中接触到的对我来说新的东西,mysql的主从同步,读写分离。这篇文章只是我理解烂尾楼项目查看到的有价值资料的集合,如果你已经读过请忽视。
mysql主从同步:数据库的主从同步一般有两种用途:同步备份灾难切换,读写分离。
主从同步的设置请参考:http://www.ooso.net/archives/547
mysql的读写分离:缓解数据库压力,一般主数据用来处理数据的事物处理(写),从数据库用来处理select(读)。
如何进行读写分离 http://www.db110.com/?p=3234
1. mysql-proxy 这个似乎不太稳定,且有一些局限 http://blog.csdn.net/heiyeshuwu/article/details/2069190
2.应用层的 读写分离。设计代码时候考虑读写分离,高可用等。可以封装DB类。参考http://blog.csdn.net/heiyeshuwu/article/details/4822163
这里有一个问题:如果主从同步出问题了,然后读写分离中的从库数据不是最新的就会有麻烦了(比如投票记录),这里可用通过应用层的读写分离(分装的db类)来控制,对待特殊的select可用读取主库。如果你有更好的解决方法,请悄悄告诉我...
这个也是我接触到的一个谈了架构的项目,对于web的架构请参考:http://blog.csdn.net/heiyeshuwu/article/details/3072747