所谓的读写分离就是事先准备两种类型的mysql数据库,一种做更新操作(master)、一种做查询操作(slave)。当应用系统需要更新数据时调用master,查询数据时调用slave。这样做的好处就是将单一数据库的业务处理分担给多个数据库,也可以理解为负载均衡,这样就有一个问题,master的数据什么时候通过哪种方式同步到slave中呢?这时候就用到了主从复制了,主从复制提供了多种方式将master中的数据同步到slave中,具体如何实践请参考网络上其他文章。
下边通过一张图来看下系统结构:

上边说到了利用主从复制实现读写分离来提高系统的负载能力,其实还应该再加上一个Master来实现数据库系统的高可用性,这样就算是其中任何一个数据库服务器宕机也不影响系统业务使用。
Difeye是一款超轻量级PHP框架,主要特点有: Difeye是一款超轻量级PHP框架,主要特点有: ◆数据库连接做自动主从读写分离配置,适合单机和分布式站点部署; ◆支持Smarty模板机制,可灵活配置第三方缓存组件; ◆完全分离页面和动作,仿C#页面加载自动执行Page_Load入口函数; ◆支持mysql,mongodb等第三方数据库模块,支持读写分离,分布式部署; ◆增加后台管理开发示例
关于应用系统如何实现读写分离、高可用性请根据具体的项目情况,例如:在spring项目中配置多个数据源,使用aop切入点根据save*、update*、delete*等方法调用master数据源,根据find*、get*、query*来调用slave数据源。









