mysql之MMM高可用方案简介
MMM(Master-Master Replication Manager for MySQL) MySQL主主复制管理器,提供了MySQL主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件。在MMM高可用解决方案中,典型的应用是双主多从架构,通过MySQL replication技术可以实现两台服务器互为主从,且在任何时候只有一个节点可以写入,避免多点写入的数据冲突。同时,当可写的主节点故障时,MMM套件可以立刻监控到,然后将服务自动切换到另一个主节点,继续提供服务,从而实现MySQL的高可用。
MMM高可用MySQL方案是一个通过Perl编写的、基于MySQL主从复制的、成熟完善的MySQL高可用集群解决方案,由一个管理端(monitor)和多个代理端(agent)构成。通过MMM可以实现监控和管理MySQL主主复制和服务状态,同时也可以监控多个Slave节点的复制以及运行状态,并且可以做到任意节点发生故障时实现自动切换的功能。MMM集群方案的出现为MySQL的读、写分离架构的应用提供了一个很好的平台,这是因为MMM集群方案将读IP(reader IP)和写IP(write IP)从数据库层面提取出来,在业务系统只需调用即可实现读、写分离功能。
虽然MMM是一个MySQL主主复制管理器,但是在整个集群中,同一时刻只有一个Master是可写的,这样做是为了保证数据的完整性和安全性。
MMM集群套件具有良好的稳定性、高可用性和可扩展性,当活动的Master服务器故障以后,备用Master服务器会立刻接管,而其他的Slave服务器也能自动切换到备用Master服务器继续进行同步复制,整个过程无需人为干预。
当然,MMM集群套件也有一定的缺点:首先MMM架构需要多个节点、多个IP,对服务器数量有要求;其次,MMM方案在读、写非常繁忙的业务系统下表现不是很稳定,可能会出现复制延时、切换失效等问题。因此,MMM方案并不太适应于对数据安全性要求很高,并且读、写频繁的环境中。
mysql之MMM高可用方案简介的更多相关文章
- mysql的MMM高可用方案
1 MMM高可用mysql方案 1.1 方案简介 MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复 ...
- MySQL数据库的高可用方案总结
高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.虽然互联网服务号称7*24小时不间断服务,但多多少少有一些时候服务不可用,比如某些时候网页打不开,百度不能搜索或者无法 ...
- 常见的Mysql十款高可用方案
简介 我们在考虑MySQL数据库的高可用架构时,主要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断. 用作 ...
- MySQL MMM高可用方案
200 ? "200px" : this.width)!important;} --> 介绍 本篇文章主要介绍搭建MMM方案以及MMM架构的原理.这里不介绍主从.主主的搭建方 ...
- MySQL5.7 利用keepalived来实现mysql双主高可用方案的详细过程
Reference: http://blog.csdn.net/mchdba/article/details/51377989 服务器准备 Keepalived:192.168.13.15 Keep ...
- MySQL 同步复制及高可用方案总结
1.前言 mysql作为应用程序的数据存储服务,要实现mysql数据库的高可用.必然要使用的技术就是数据库的复制,如果主节点出现故障可以手动的切换应用到从节点,这点相信运维同学都是知道,并且可以实现的 ...
- mysql高可用方案总结性说明
MySQL的各种高可用方案,大多是基于以下几种基础来部署的(也可参考:Mysql优化系列(0)--总结性梳理 该文后面有提到)1)基于主从复制:2)基于Galera协议(PXC):3)基于NDB引 ...
- [转载] MySQL高可用方案选型参考
原文: http://imysql.com/2015/09/14/solutions-of-mysql-ha.shtml?hmsr=toutiao.io&utm_medium=toutiao. ...
- 分布式数据存储 - MySQL主从复制高可用方案
前面几篇文章说道MySQL数据库的高可用方案主从复制.主从复制的延迟产生原因.延迟检测及延迟解决方案(并未从根本上解决),这种主从复制方案保证数据的冗余的同时可以做读写分离来分担系统压力但是并非是高可 ...
随机推荐
- 基于 FastAdmin 开发后台流程 (持续更新)
使用 git init 初始化 增加一个自己的git 原始仓库,用于存放自己的代码. 增加一个 fastadmin 的仓库,为了方便以后与官方同步. 自己修改的代码 git Push 到自己的仓库 将 ...
- python 之 python3内置函数
一. 简介 python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明:点击查看, 为了方便查看,将内置函数的总结记录下来. 二. 使用说明 以下是Python3版本所有的内 ...
- es 中的 Iterator
for...in 遍历(当前对象及其原型上的)每一个属性名称,而 for...of 遍历(当前对象上的)每一个属性值 ES6 规定,默认的 Iterator 接口部署在数据结构的Symbol.iter ...
- shell教程-001:shell简介 什么是shell,shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的. Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解 ...
- FineUI 3升级4.1.1时,SingleClickExpand属性改什么了? (树控件单击展开)
private Tree InitTreeMenu(List<Menu> menus) { Tree treeMenu = new Tree(); treeMenu.ID = " ...
- Bluez相关的各种tools的使用
7.1 Bccmd Bccmd是用来和CSR的芯片进行BCCMD(Bluecore command protocol)通讯的一个工具.BCCMD并非蓝牙协议栈的标准,而是CSR芯片的专属 ...
- Letterbox,Pillarbox和Pan&Scan
Auto 不改变窗口设置16:9 PillarBox: 4:3的图像,在16:9的显示屏上显示时,上下到顶,左右会添加黑边. 16:9 Pan&Scan 4:3的图像,在16:9的显示屏上显示 ...
- laravel获取参数
测试url如下 http://127.0.0.1:8888/testApp/public/testInput?aaa=1&bbb=2 测试代码 Route::get('/testInput', ...
- winform 控件没有Cursor属性时的处理办法
开发程序时,有时我们需要鼠标滑过空件时鼠标变成手型,这样触发动作更为贴近实际.但是有的控件不存在Cursor这个属性,就需要我们自己实现. 具体方法: /// <summary> /// ...
- 【Spring学习笔记-MVC-14】Spring MVC对静态资源的访问
作者:ssslinppp 参考链接: http://www.cnblogs.com/luxh/archive/2013/03/14/2959207.html http://www.cnb ...