写在前面 在<冰河,能讲讲Mycat如何实现MySQL的读写分离吗?>一文中,我们实现了使用Mycat实现MySQL的读写分离.然而,此时的Mycat只有一个节点,如果Mycat节点宕机了,则整个MySQL集群将不可用,所以,我们有必要保证Mycat节点的高可用.那如何保证Mycat节点的高可用呢?今天,我们就一起来聊聊这个话题.一起搭建一套Mycat的高可用集群. 目前,我也在业余时间开发和维护Mycat源码,小伙伴们在学习和使用Mycat时,遇到问题也可以加我微信[sun_shine_ly…
前言 开心一刻 一个女人自朋友圈写道:我家老公昨天和别人家的老婆出去旅游,迄今未归,我则被别人家的老公折腾了一天,好累哦! 圈子下面,评论无数,老公在下面评论到:能不能好好说话,我只不过陪女儿去毕业旅游行,而你负责在家留守,照顾三岁儿子,要不要写的这么刺激.让人浮想联翩的? 你是不是有点虎? 诺维斯基:你往哪射了? 周子瑜:我只是个娱乐明星,射箭我不是专业的... 路漫漫其修远兮,吾将上下而求索! github:https://github.com/youzhibing 码云(gitee):ht…
MySQL数据库的优化(下)MySQL数据库的高可用架构方案 2011-03-09 08:53 抚琴煮酒 51CTO 字号:T | T 在上一篇MySQL数据库的优化中,我们跟随笔者学习了单机MySQL数据库的优化,今天我们继续跟随笔者学习MySQL优化的集群方案. AD:51CTO 网+首届APP创新评选大赛火热启动——超百万资源等你拿! [51CTO独家特稿]在上一篇MySQL数据库的优化中,我们跟随笔者学习了单机MySQL数据库的优化,今天我们继续跟随笔者学习MySQL优化的集群方案. M…
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat.S…
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat…
一.MHA简介 MHA(Master High Availability)目前在mysql高可用方面比较成熟.是一套优秀的作为 mysql高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA 能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA 能在最大程度上保证数据的一致性,以达到真正意义上的高可用. 该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点).管理节点可以单独部署在一台独立的机器上来管理多…
什么是高可用 全年时间里,99%的时间里都能对外提供服务,就是高可用 主备切换 在master故障时,自动检测,将某个slave切换为master的过程,叫做主备切换.这个过程,实现了Redis主从架构下的高可用性. 哨兵是redis集群架构中非常重要的一个组件,主要功能如下 集群监控,负责监控redis master和slave进程是否正常工作 消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员 故障转移,如果master node挂掉了,会自动转移到slave…
说明 本文只为方便日后查阅,不对一些概念再做赘述,网上都有很多明确的解释,也请大家先了解相关概念. 两台搭建HA的服务器是华为云上的ECS(不要忘记开通VPC,保证我们的服务器都处在一个内网环境),由于华为云每台机器只能绑定一个私有的浮动IP(VIP),所以本次示例只能实现一主一备(Master-Backup). 环境: Server1:192.168.0.70 Server2:192.168.0.71 VIP:192.168.0.10 安装Keepalived(两台服务器步骤相同,只有细微的配…
使用NFS服务器(比如图片业务),一台为主,一台为备.通常主到备的数据同步是通过rsync来做(可以结合inotify做实时同步).由于NFS服务是存在单点的,出于对业务在线率和数据安全的保障,可以采用"DRBD+NFS+Keepalived"架构来完成高可用方案部署.之前介绍了DRBD详细解说及配置过程记录,废话不多说了,基于之前的那篇文档的机器配置信息,以下记录部署过程: 思路: 1)在两台机器上安装keepalived,VIP为192.168.1.200 2)将DRBD的挂载目录…
工具下载链接:点这里.活动发布链接:点这里. 采用容器服务后,了解容器之间的关系及依赖是一个比较有挑战的问题.容器化改造后的实际架构模型可能与预想的架构存在较大的差异,架构师或系统运维人员需要精确地了解资源实例的构成和交互情况,存在一定的困难.其次,系统架构在动态演化过程中可能引入了一些不可靠的因素,比如弱依赖变强依赖.局部容量不足.系统耦合过重等,给系统的稳定性带了极大的安全隐患.所以我们每次在面对系统改造.业务大促.迁移上云以及稳定性治理工作之前,都会通过梳理架构图的方式,呈现系统架构中个组…
案例子任务一.安装配置keepalived 步骤1:使用nginx镜像生成nginx-keep镜像 1) 启动nginx容器并进入 docker run -d --privileged nginx /usr/sbin/init 2)在nginx容器中使用yum方式安装keepalived yum -y install keepalived 安装完成后,检查! 3)保存容器为镜像 docker commit 容器ID nginx-keep 步骤2:使用nginx-keep镜像启动nginx1和ng…
环境准备: 192.168.193.80  node1 192.168.193.81 node2 关闭防火墙 [root@node1 ~]# systemctl stop firewalld #两台都关闭 [root@node1 ~]# setenforce setenforce: SELinux is disabled host文件 [root@node1 ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhos…
环境描述:有三台ubuntu服务器,,每台服务器上已经有mongodb实例.创建3个mongo2.4的新实例,分别作为三个复制集节点,同时保证了当前单节点环境的稳定 3台服务器都已经有单个mongo实例运行 步骤 1.创建mongo新实例需要的目录资源   主要是数据库存放目录.日志文件.配置文件.key文件(保证节点通信) 文件可以在任何地方创建,我在/usr/local下的创建mongodb_rs作为新实例的目录,在该目录下创建资源目录 1.数据库  mkdir db 2.日志文件  mkd…
一:环境准备: 应用 主机 mysql-master 192.168.205.184 mysql-slave 192.168.205.185 mycat-01,keeplived,jdk 192.168.205.182 mycat-02,keeplived,jdk 192.168.205.183 mysql主从环境(略) 二: 主机(192.168.205.183,192.168.205.182)上安装jdk,mycat,keeplived 以192.168.205.183主机为例,另外一台主机…
一.环境说明:     操作系统:Centos-6.5_x86_64    keepalived软件安装在node2和node3机器上.     实际安装之前,先关闭keepalived节点(node2,node3)上的防火墙. [root@node2 ~]# service iptables stop 二.软件安装:     这里需要安装的软件是keepalived.node2和node3都需要安装. [root@node2 ~]# yum install keepalived     安装完…
[root@node1 ~]# cat /etc/yum.repos.d/mariadb.repo # MariaDB 10.1 CentOS repository list - created 2016-05-24 07:59 UTC# http://mariadb.org/mariadb/repositories/[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://…
启动keepalived后宿主机无法ping通用keepalived,报错: [root@localhost ~]# ping 172.18.0.15 PING () bytes of data. From Destination Host Unreachable From Destination Host Unreachable From Destination Host Unreachable From Destination Host Unreachable From Destinatio…
前言 小伙伴们,通过前边文章的阅读,相信大家已经对RocketMQ的基本原理有了一个比较深入的了解,那么大家对当前比较常用的RabbitMQ和Kafka是不是也有兴趣了解一些呢,了解的多一些也不是坏事,面试或者跟人聊技术的时候也会让你更有话语权嘛. 那王子今天就跟大家聊一聊RabbitMQ和Kafka在处理高可用集群时的原理,看看它们与RocketMQ有什么不同.小伙伴们可以重新温习一下常见的消息中间件有哪些?你们是怎么进行技术选型的?这篇文章,了解一下他们之间的区别. RabbitMQ的高可用…
接上一篇文章http://www.cnblogs.com/wt645631686/p/8310891.html,虽然已经在原有两台mycat基础上增加了Haproxy作为mycat的中间服务器,不足的是,如果仅仅的一台Haproxy服务器宕机掉,整个架构也就没法运行. 一.准备两台Haproxy服务器 图解说明:(1) HAProxy 实现了 Mycat 多节点的集群高可用和负载均衡, 而 HAProxy 自身的高可用则可以通过Keepalived 来实现. 因此, HAProxy 主机上要同时…
实战操作可参考:http://www.roncoo.com/course/view/3117ffd4c74b4a51a998f9276740dcfb 一.环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso JDK版本:jdk1.7.0_45 MyCat版本:Mycat-server-1.4-release-20151019230038-linux.tar.gz MyCat节点IP:192.168.1.203      主机名:edu-mycat-01  主机配置:4核C…
数据迁移与扩容实践: 工具目前从 mycat1.6,准备工作:1.mycat 所在环境安装 mysql 客户端程序. 2.mycat 的 lib 目录下添加 mysql 的 jdbc 驱动包. 3.对扩容缩容的表所有节点数据进行备份,以便迁移失败后的数据恢复. 步骤: 1.复制 schema.xml.rule.xml 并重命名为 newSchema.xml.newRule.xml 放于 conf 目录下. 2.修改 newSchema.xml 和 newRule.xml 配置文件为扩容缩容后的…
Mycat+PXC高可用集群 一.架构图 架构说明: 1.mysql 集群高可用部分: l 针对业务场景选用Percona XtraDB Cluter(PXC)复制集群.两个片集群 PXC-dataNode01.PXC-dataNode01 由Mycat 管理,实现分库分表.读写分离 l PXC 复制模式保证强一致性.不会存在数据复制延迟:当client 发起事务请求只有在集群节点都同步响应完成时才会返回成功给客户端,否则回滚.客户端报错 l 节点集群扩展方案: 增加新节点集群需要对现有的需要分…
1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量,需要进行服务集群化部署,本文主要介绍服务端Tomcat多实例部署,以及如何保证web服务的高可用方案. Nginx 是一个高性能的 HTTP反向代理服务器 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免服务的单点故障 Tomcat 是一个免费的开放源代码…
前言 高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,搜索,消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用.对于数据库服务而言,高可用可能更复杂,对用户的服务可用,不仅仅是能访问,还需要有正确性保证,因此数据库的高可用方案是一直以来的讨论热点,今天就各种的高可用方案,谈一下个人的一些看法,如有错误,还请指正!! MySQL主从架构 此种架构,一般初创企业比较常用,也便于后面步步的扩展…
MySQL高可用平台需要达到的目标有以下几点: 1.数据一致性保证这个是最基本的同时也是前提,如果主备的数据的不一致,那么切换就无法进行,当然这里的一致性也是一个相对的,但是要做到最终一致性. 2.故障快速切换,当master故障时这里可以是机器故障或者是实例故障,要确保业务能在最短时间切换到备用节点,使得业务受影响时间最短.这里也可以指业务例行维护操作,比如前面提到的无法使用在线进行DDL的DDL操作,很多分表批量的DDL操作,这些操作通过在线切换方式来滚动完成. 3.简化日常维护,通过高可用…
一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种架构中,主库出现故障时需要手动将一台从库提升为主库.在对写操作要求较高的环境中,主库故障在主从架构中会成为单点故障.因此需要主主互备架构,避免主节点故障造成写操作失效. 在双主互备的架构中,每台Mysql都充当主服务器,同时充当对方的从服务器.在任意一台服务器上的写操作都会被复制到另一台服务器上,从…
前言 开心一刻 医院里,一母亲带着小女孩打针.小女孩:“妈妈我不想打针,疼!”妈妈:“宝贝儿听话,这里这么多护士阿姨,咱们找个打针不疼的.”小女孩:“那哪个阿姨打针不疼呢?”妈妈:“妈妈也不知道,咱们试试看吧.”小女孩高兴的点了点头... 路漫漫其修远兮,吾将上下而求索! github:https://github.com/youzhibing 码云(gitee):https://gitee.com/youzhibing 问题背景 Mycat - 实现数据库的读写分离与高可用写完之后,本以为一两…
众所周知Oracle云基础架构已经在越来越多的行业里应用.大家了解云基础架构是如何演进的嘛?可能有人会说Oracle高可用技术是组成云架构的基础,那它们的关系是怎么样的?大家又了解Oracle高可用技术有哪些,每种技术又有何相同点与不同点,它们各自的应用场景是哪些?为什么有些地方可以用,有些地方不可以用?good~今天我就来和大家一起分享这些问题的答案,让大家有一个系统化的理解和思路,同时在选择Oracle高可用技术时不在迷茫,不在困惑.这是成为“一名数据架构师”的必经之路. 一列出你知道的Or…
本文介绍最近几年美团点评MySQL数据库高可用架构的演进过程,以及我们在开源技术基础上做的一些创新.同时,也和业界其它方案进行综合对比,了解业界在高可用方面的进展,和未来我们的一些规划和展望. MMM 在2015年之前,美团点评(点评侧)长期使用MMM(Master-Master replication manager for MySQL)做数据库高可用,积累了比较多的经验,也踩了不少坑,可以说MMM在公司数据库高速发展过程中起到了很大的作用. MMM的架构如下. 如上所示,整个MySQL集群提…
[原文]https://www.toutiao.com/i6591714650205716996/ 一.概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量,需要进行服务集群化部署,本文主要介绍服务端Tomcat多实例部署,以及如何保证web服务的高可用方案. Nginx 是一个高性能的 HTTP反向代理服务器 Keepalived 是一个基于VRRP协…