30 Mysq Cluster(集群)的概念和架…

来源:互联网 发布:zdm水利设计软件 编辑:程序博客网 时间:2024/04/29 08:12

Mysql4.1.x版本开始推出mysql cluster功能,Cluster简单地说就是一组节点的组合.这里的节点是一个逻辑概念,一台计算机上可以存放一个节点,也可以存放多个节点.节点的功能也各不相同,有的用来存储数据(数据节点),有的用来存放表结构(sql节点),有的用来对其他节点进行管理(管理节点).

Mysql使用NDB存储引擎来对数据节点的数据进行存储,以前版本的NDB存储引擎只支持基于内存的数据表,5.1版本开始支持基于磁盘的数据表.

理论上,mysql cluster通过数据的分布式和可扩展的系统架构,可以满足更大规模的应用;而且通过冗余策略,可以大大地提高系统的可靠性和数据的有效性.

30 <wbr>Mysql <wbr>Cluster(集群)的概念和架构

从图30-1可以看出mysql cluster按照节点类型分为3部分:

管理节点:用来对其他节点进行管理,实际操作中,是通过一个叫作config.ini的配置文件进行维护而起到管理的作用.该文件可以用来配置多少需要维护的副本,需要在每个数据节点上为数据和索引分配多少内存等.

SQL节点:是应用和数据节点之间的一个桥梁.应用不能直接访问数据节点,只能先访问SQL节点,然后SQL节点再去访问数据节点来返回数据.cluster中可以有多个SQL节点,通过每个SQL节点查询到的数据都是一致的,通常来说,sql节点越多,分配到每个SQL节点的负载就越小,系统的整体性能就越好.

数据节点:用来存放cluster里面的数据,可以有多个数据节点.每个数据节点可以有多个镜像节点.任何一个数据节点发生故障,只要它的镜像节点正常,cluster就可以正常运行.

总结:mysql cluster的访问过程,前台应用一定的负载均衡算法将对数据库的访问分散到不同的sql节点上,然后sql节点对数据节点进行数据访问并从数据节点返回结果,最后sql节点将收到的结果返回给前台应用.而管理节点并不参与访问过程,它只用来对sql节点和数据节点进行配置管理.

 

 

Mysql Cluster的配置(暂不支持windows,书中472)

 

原创粉丝点击