起因
由于网站进一步开发运行的需求,要求主机7*24小时运行正常,同时要求能够防止数据库灾难。考虑到后期的开发程度和业务量,准备向高可用系统进行改变,同时通过负载均衡提高网络性能。于是第一步就考虑到了数据库的集群问题。
集群和数据库主从复制
集群
通过多个物理机服务器共同处理和完成同一个业务功能,能很好的提高网站性能和可靠性。不同的环境下需要采用不同的集群策略,集群主要分为以下几种:
(1)高可用集群:节点间以主备形式实现数据库容灾,在宕机情况下能快速恢复,节点间共享资源。
(2)负载均衡集群:节点间相互独立不共享资源,通过一定的算法和模式将业务操作分到不同的节点,充分利用每个节点的资源,能够提高扩展性,加强了网络数据处理能力。
(3)科学计算集群:相对串行计算而言的,多台计算机执行多个指令达到单台计算机无法达到了计算速度。
主从复制
对上面高可用集群的理解,实现高可用集群可以配置服务器的主从关系,通过了解准备使用Mycat来对数据库进行管理,在此之前需要对数据库进行主从配置。
(1)主从配置:为了将mysql的数据库分不到多个系统中,最简单的实现方式就是复制了。而mysql内建有一种复制方式,即指定一台或多台服务器为主机master,另外一台或多台服务器作为从机slave。当master存在更新的时候,master将更新写入二进制文件,并维护了一个索引文件跟踪日志。当slave连接到主服务器之后,slave会通知master进行同步,master通过索引找日志文件上一次同步的位置,然后将这段时间内的更新数据发送给slave进行同步。
(2)mysql主从复制支持类型:
a. 基于sql的支持:通过将matser日志文件中更新的sql语句复制到slave上,slave执行。
b. 基于行的支持:当sql不精确或者记录丢失时,mysql会将改变的行直接复制到slave上
c. 混合支持:默认使用a方式
(2)主从复制优缺点
优点:高可用,提高容错率,数据分布,负载均衡。
缺点:单向同步,无法解决主机宕机问题
主从配置</