工作不怎么忙,搞点儿开发吧差点儿事,就想着弄点儿架构的事儿.正好前段时间看过关于keepalived+双主实现高可用的文章,也恰好身边的朋友所在的公司也部分用这个架构.没什么事儿就搞搞吧,正好对比下MMM.MHA.keepalived+双主三种架构的优劣和DB维护的体验感.简单讲讲自己的用户体验感,就搭建难易程度讲MMM的安装包封装好的,修改的配置文件较MHA少一些,比keepalived+双主要稍微麻烦点儿.本着省事,维护起来省事还是觉得MMM真的便利,黑盒操作适合我这种懒人加小白类型. 某位…
我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.使用Keepalived,可以通过虚拟IP,实现双主对外的统一接口以及自动检查.失败切换机制,从而实现MySQL数据库的高可用方案.之前梳理了Mysql主从/主主同步,下面说下…
http://blog.chinaunix.net/uid-25266990-id-3989321.html 在测试了Nginx+Keepalived的负载均衡后,也对Haproxy+Keepalived双主模式做了测试,双主的模式充分利用了服务器资源,这样不会导致服务器浪费. 这里举例说明: 默认情况下,第一台负载均衡器主要分发www.zhirs.com的请求,第二台负载均衡器主要分发img.zhirs.com的请求. 任意一台宕机都不会影响网站分发. 实验环境 VIP1=192.168.13…
MySQL keepalived 双主搭建 环境说明 系统 IP 主机名 mysql keepalived VIP CentOS 6.8 192.168.197.61 C6-node1 5.6.36 1.2.13 192.168.197.88 CentOS 6.8 192.168.197.62 C6-node2 5.6.36 1.2.13 192.168.197.88 安装MySQL双主 C6-node1 MySQL的安装及初始化这里不做详细介绍,下面贴出node1的my.cnf的配置文件: […
利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟VIP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换.   硬件拓扑如下:   VIP:192.168.1.200 mysql1:192.168.1.201 mysql2:192.168.1.202   操作系统:CentOS release 6.3(32位) MySQL版本:MariaDB 5.5.31 Stable 下载地址(64位请下载64版本)…
通过上一次课程的学习,我们知道Nginx+keepalived主从配置,始终有一台服务器处于空余状态,那如何更好的利用起来呢,我们需要借助Nginx+keepalived双主架构来实现,如下图通过改装后的网络架构图; 直接master1上keepalived.conf配置文件内容: ! Configuration File for keepalived global_defs { notification_email { wgkgood@163.com } notification_email_…
Keepalived 双主虚拟路由配置实例 演示前说明: 2台centos7.2 主机:node-00,node-01 VIP1:10.1.38.19预定node-00占有 VIP2:10.1.38.20 预定node-01占有 2台主机安装好keepalived之后,开始编辑配置文件 node-00的配置如下 ! Configuration File for keepalived global_defs { notification_email { root@localhost } notif…
阻塞模式和非阻塞模式...... 我的理解是:阻塞模式就像是一个延时函数,当这个函数没处理完那么,所有的按照流程需要执行的代码都不会被执行,要等到这个延时完成,类似 平时看书上写的LED灯闪烁,用的delay()一样..而非阻塞模式就像他定义的那样,一般用的是中断,执行这条语句的时候,开启相应的中断达到一定的条件才进行处理,这样不会影响到流程的执行. 我的理解就是,阻塞就是死等,非阻塞就是中断 可以参考 /**  * @brief  Sends an amount of data in non…
socket异步通信-如何设置成非阻塞模式.非阻塞模式下判断connect成功(失败).判断recv/recvfrom成功(失败).判断send/sendto 博客分类: Linux Socket socket  原文: 将一个socket 设置成阻塞模式和非阻塞模式,使用fcntl方法,即: 设置成非阻塞模式: 先用fcntl的F_GETFL获取flags,用F_SETFL设置flags|O_NONBLOCK; 即: flags = fcntl(sockfd, F_GETFL, 0);    …
Xcode 项目中经常会融合一些老的代码,它们可能采用非ARC的模式.混合编译时,就会碰到编译出错的情况. 如何共用ARC模式和非ARC模式呢? XCode除了提供整个项目是否使用ARC模式的选择外,还可以对单个文件添加标签来指定是否采用ARC模式. 添加标签的方法: 打开:你的target -> Build Phases -> Compile Sources. 双击对应的 *.m 文件 在弹出窗口中输入上面提到的标签-fobjc-arc / -fno-objc-arc (1)如果你的项目使用…