程序员人生 网站导航

window平台如何搭建Mysql集群

栏目:数据库应用时间:2014-12-17 08:20:57

       为了提高系统的可用性实现系统7*24小时运行的目标,我们的项目搭建了1个mysql集群来增加系统的可靠性,下面说1下项目中mysql集群的搭建进程。

       先谈谈对搭建各种集群、散布式、负载均衡的理解,1个高可用、高性能、伸缩性强的散布式系统其实不是一挥而就,1下搭出这样的架构也有点不可能,最少个人觉得对系统的运行状态没有1个可靠地保证,你不能保证架构中不会出现甚么纰漏的地方,因此架构师也是1点1点成长起来的,在小的架构解决不了目前的问题时、在不断的高并发、每一年的双101等这样的问题中成长起来的。

       在我们这个项目中重视高可用,当1台数据库服务器出现故障后不允许系统停止运行,也就是说需要多搭建几台服务器让它们可以自由切换,服务器集群很好的解决了我们对高可用的需求。下面说1下我们是如何搭建mysql集群。

       下载地址:http://dev.mysql.com/downloads/cluster/

        3种节点:

       1.管理节点(即集群的核心利用)

       2.SQL节点(mysql Service)

       3.数据节点  (数据文件)

1.管理节点

       它是全部集群环境的核心类似于集群中起调度作用的关键,由它来负责管理其它节点的开启、关闭等等,该节点也是从mysql 5.6版本以后才出现,可见数据库对搭建集群这个方向正在提出新的需求和新的挑战,或许在以后的版本中搭建集群将变的非常简单,期待后续版本功能更强大。

       开始对是SQL 节点是甚么?总有很多疑问,有无必要从mysql service中分离出来搭建完以后有点理解为何要把服务器和数据分离,结合mysql集群部署图觉得有以下好处:

      

       对图的理解:

           所有的SQL nodes、data nodes要看成1个整体对待,任意1个sql node节点对data node的操作都是对所有data node节点的操作,会对所有的data node产生影响,例如向集群中某1个数据插入数据,其它数据节点也会插入相同的数据。

       好处

        耦合性小:如果1个sql节点坏掉,不会影响这个节点下面的数据节点,它和数据节点1点关系也没有

        同步问题:多个数据节点之间需要时刻同步数据

        可用性最高:集群中只要有1个SQL节点、1个data节点可用,全部集群就是可用的,不需要斟酌它们都部署在哪里。也就是说集群中各个节点之间是透明的谁也不知道谁,它们都由管理节点来调和管理。

2.SQL节点

       即mysql Service服务器,为数据库提供各种服务,如操作数据库、安全、备份、MySQL所使用的SQL语言是用于访问数据库的最经常使用标准化语言。

       通过mysql 服务器来对数据进行管理、保护工作,这里就不在多说。

3.数据节点

       用户的数据、数据库、表、视图、存储进程等都保存在数据节点中。

  PS:

      对数据库集群通常需要上面3个节点,管理节点负责管理其它的节点,这3类节点可以任意部署在1台或好几台电脑上,为了方便部署和管理我把服务节点和数据节点部署在1起,分别部署在两台电脑上,管理节点单独部署在1台电脑上,尽可能不要让管理节点同数据节点、服务节点部署在1起,否则那台电脑坏掉后,其它节点就都不会运行了。

总结:

            参考资料:

                        如何在Linux下搭建mysql 集群:http://www.cnblogs.com/seesea125/archive/2012/03/28/2421277.html

                        搭建问题:http://bbs.chinaunix.net/thread⑴841962⑴⑴.html

        对搭建集群的详细步骤这里不在多说,已整理成文档,下载地址:


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐