什么是MySQL集群?带你全面掌握MySQL集群原理

什么是MySQL集群?带你全面掌握MySQL集群原理,第1张

如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;

如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;

如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。

随着计算机和信息技术的迅猛发展和普及,行业应用系统的规模迅速扩大,行业应用所产生的数据量量呈爆炸式增长,类似于MySQL集群这样的技术得到了广泛的运用,MySQL集群原理的运用就显得尤其重要。

动力节点的MySQL集群教程 ,对于MySQL集群技术的应用场景有着详细的介绍,能够有效帮助我们学以致用, 教程主要从MySQL集群架构解析到架构部署再到集群架构测试,一步步带你部署企业级的MySQL数据库集群项目,熟悉各个环节技术点,提升数据库架构设计能力。

https://www.bilibili.com/video/BV1Rg4y1i7VR

http://www.bjpowernode.com/?toutiao

•001.MySQL集群视频教程:主从复制介绍

•002.MySQL集群视频教程:主从复制结构

•003.MySQL集群视频教程:主从复制流程原理

•004.MySQL集群视频教程:多实例安装

•005.MySQL集群视频教程:多实例链接

•006.MySQL集群视频教程:一主多从-配置

•007.MySQL集群视频教程:-一主多从测试

•008.MySQL集群视频教程:双主双从配置

•009.MySQL集群视频教程:双主双从测试

•010.MySQL集群视频教程:多数据源-环境搭建

•011.MySQL集群视频教程:多算数据源实现

•012.MySQL集群视频教程:修复MySLQ主从复制

•013.MySQL集群视频教程:多数据源的问题

•014.MySQL集群视频教程:动态数据源

•015.MySQL集群视频教程:动态数据源执行流程

•016.MySQL集群视频教程:SpringBoot集成多数据源

•017.MySQL集群视频教程:SpringBoot集成多数据源问题

•018.MySQL集群视频教程:SpringBoot集成动态数据源

MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能。

数据更新使用读已提交隔离级别(read-committedisolation)来保证所有节点数据的一致性,使用两阶段提交机制(two-phasedcommit)保证所有节点都有相同的数据(如果任何一个写操作失败,则更新失败)。

无共享的对等节点使得某台服务器上的更新操作在其他服务器上立即可见。传播更新使用一种复杂的通信机制,这一机制专用来提供跨网络的高吞吐量。

通过多个MySQL服务器分配负载,从而最大程序地达到高性能,通过在不同位置存储数据保证高可用性和冗余。

它们是按SMP、NUMA、MPP、集群、分布处理从最紧密到最松散的排列。

SMP(多处理系统):这种系统是在一台计算机里有多个CPU,CPU之间的地位是平等的,它们共享内存空间和I/O设备。其工作方法是由操作系统负责将任务分解成多个并发进程,然后让其在不同的CPU上运行。

NUMA(非统一内存存取):这种系统可以让多处理计算机的CPU比SMP更高效地共享本地内存,CPU可以更快速地存取单一的内存区域,不过如需要也可以用间接方式存取其他区域的内存,这种方法是让某些CPU在给定范围的物理内存中有更大的优先使用权。

MPP(巨型并行处理):这种系统的节点都有自己的CPU,并有自己的专有资源。此种结构相对独立,但各个节点一般没有完全存取I/O的能力。

集群:集群系统是由独立的计算机组成,但有控制管理工具统一管理。

分布处理:它是比我们要构筑的集群系统更松散的连接,一般是任务在不同的地方完成,没有可以作为整体管理的单一实体。

以上的聚合方式有紧有疏,它们都有自己的适用范围,这里就不多说了,有兴趣可自己找些资料看,这里只是想让大家了解它所处的位置。

实现负载均衡的方法

集群的目的是共享和高效地利用资源,提供大型运算,提供负载均衡分配请求压力以及出现故障时能够进行切换实现高可用性。

限于篇幅,本文只对负载均衡的实现做些介绍(针对TurboLinux Cluster Server)。通过对相关软件的分析,实现集群负载的功能是通过流量管理实现的,具体有这样几种实现方法:直接路由(Direct forwarding)、网络地址转换(NAT)、隧道技术(Tunneling)。

直接路由(Direct forwarding)

当参与集群的计算机和作为控制管理的计算机在同一个网段时可以用此法,控制管理的计算机接收到请求包时直接送到参与集群的节点。优点是返回给客户的流量不经过控制主机,速度快开销少。

网络地址转换(NAT)

这种方法可能大家较熟悉,地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址,外界看起来包是来自地址转换器本身,当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点。优点是节省IP地址,能对内部进行伪装缺点是效率低,因为返回给请求方的流量经过转换器。

隧道技术(Tunneling)

这种方式是在集群的节点不在同一个网段时可用的转发机制,是将IP包封装在其他网络流量中的方法,为了安全的考虑,应该使用隧道技术中的VPN,也可使用租用专线。

集群所能提供的服务是基于TCP/IP的Web服务、Mail服务、News服务、DNS服务、Proxy服务器等等,下面我们将就具体的产品TurboLinux Cluster Server 来实现一个进行负载均衡集群系统,用于提供Web和FTP的服务。四台服务器的负载均衡实例

所提供的服务:Web、FTP。

系统的实现目的:做一个较完善负载均衡的系统,以便能用到其中的较多的功能。

采用设备状况:使用四台服务器,其中3台装TurboLinux Cluster Server,1台安装Windows 2000 Sever。系统安装1.在两台服务器上安装TurboLinux, apache和wu-ftpd也要安装,因为集群要提供这种服务,安装完后重启,挂接光驱在目录/mnt/cdrom下,执 行./TLCS-install,然后按提示完全安装。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/365358.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存