赞
踩
- MySQL集群是指多台服务器共同处理数据库请求,并具有高可用性和可伸缩性的MySQL数据库系统。由多个节点组成,每个节点都运行着MySQL的实例,并且共享数据,相互之间通过网络互联。当其中一个节点失败时,其他节点可以自动接管它的工作,确保系统的连续可用性。
- MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的。
- MySQL群集中有三种节点:管理节点、数据节点和SQL节点。群集中的某计算机可能是某一种节点,也可能是两种或三种节点的集合。这三种节点只是在逻辑上的划分,所以它们不一定和物理计算机是一一对应的关系。
- 管理节点(也可以称管理服务器)主要负责管理数据节点和SQL节点,还有群集配置文件和群集日志文件。它监控其他节点的工作状态,能够启动、关闭或重启某个节点。其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入群集日志。
- 数据节点用于存储数据,使用内存存放数据,保存进数据节点的数据都会自动复制并存储到其他数据节点。
- SQL节点跟一般的MySQL服务器是一样的,我们可以通过它进行SQL操作。也叫数据库节点,和我们平时使用的mysql相同,作为数据库使用。被数据节点访问。
针对上面单节点mysql存在的常见问题对应,mysql集群有以下几点好处:
集群要考虑的风险
AB复制适用于以下情况:
Galera Cluster适用于以下情况:
MySQL的AB复制(主从复制)并不属于严格意义上的数据库集群技术,主要原因如下:
优点
缺点:
整个galera cluster中,同时只有一个节点可以广播消息(数据),每个节点都会获得广播消息的机会(获得机会后也可以不广播),当慢节点的待执行队列超过一定长度后,它会广播一个FC_PAUSE消息,所以节点收到消息后都会暂缓广播消息,直到该慢节点的待执行队列长度减小到一定长度后,galera cluster数据同步又开始恢复
- commit_cb(Commit Callback):commit_cb 是在【事务提交】时执行的回调函数。当集群中的所有节点都接收并验证了写集中的更改后,如果验证通过,则会执行 commit_cb。在 commit_cb 中,可以进行一些后续的处理操作,例如更新数据库的状态、清理临时数据等。执行 commit_cb 表示事务已成功提交并在所有节点上生效。
- rollback_cb(Rollback Callback):rollback_cb 是在【事务回滚】时执行的回调函数。如果在集群中的任何一个节点验证失败或发生错误,则会执行 rollback_cb。在 rollback_cb 中,可以进行一些回滚操作,例如撤销已应用的更改、恢复之前的状态等。执行 rollback_cb 表示事务未能成功提交,并需要回滚到事务开始前的状态。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。