MySQL读写分离的DAL层策略设计一、MySQL集群简介 所谓的mysql集群,是指多台机器完成一个工作,最主要的场景是数据库服务器和Web服务器,但是集群环境不适合大规模计算。前面我们有提到MySQLAB复制,因为MySQLAB复制不适合大规模运用,要解决这个问题,我们可以使用MySQL集群。 MySQL集群分为三类节点:管理节点、SQL节点、存储节点。管理节点的功能是管理其他节点,负责调度不同的SQL节点和存储节点。SQL节点作用是用户和该节点进行交互,用户发送SQL语句到该节点,进行读写请求。存储节点负责到磁盘中读数据和写数据。MySQL集群中采用一种特殊存储引擎,名叫NDB。NDB负责对数据进行读写,并保证节点之间的数据一致性,存储节点没有必要使用共享存储,因为第一存储节点本身的数据互为镜像,本身已经对数据做了备份。其中,管理节点只需要一个,SQL节点根据业务需要可以有多个,存储节点同理。二、MySQL集群示意图三、;;,因为存储节点对数据做备份。当然不要完全依靠MySQL集群,制定合理的备份和恢复策略还是很有必要的;,一台SQL节点宕机不影响,只需要开发人员手动判断该节点是否在线,不在线切换到另一台SQL节点上,保证了高可用性。,因为MySQL集群至少需要五台服务器;,因为服务器数量增加。一、设计分析: MySQLProxy最强大的一项功能是实现“读写分离(Read/WriteSplitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。当然,主服务器也可以提供查询服务。使用读写分离最大的作用无非是环境服务器压力。不过经过反复测试,MySQLProxy只能实现故障转移,并不能真正地实现读写分离。所以并不完全适用。然后,Sping实现了一套读写分离机制,同样地,amoeba也可以实现,Amoeba是一个以MySQL为底层数据
MySQL读写分离的DAL层策略设计 来自淘豆网m.daumloan.com转载请标明出处.