业务稳定性迁移实验

栏目: IT技术 · 发布时间: 4年前

内容简介:在业务安全中,不仅仅要考虑业务是否有被攻击的可能,同时也要考虑整个业务的稳定性,如果大家认为这是运维要考虑的事情安全不需要考虑就有些片面了,在整体架构中,安全协同运维做好架构方面的设计是十分必要的,人无完人,只有方方面面都考虑到才能保证业务的安全。在我们的架构中核心是zookeeper,在我前期的文章中也有关于我们业务架构的描述,不熟悉的朋友可以翻一翻,今天想讲的是zookeeper的平滑故障迁移,这实际上应该是故障应急演练,当然认为这是运维工作的可以跳过。ZooKeeper是一个分布式的,开放源码的分布式

在业务安全中,不仅仅要考虑业务是否有被攻击的可能,同时也要考虑整个业务的稳定性,如果大家认为这是运维要考虑的事情安全不需要考虑就有些片面了,在整体架构中,安全协同运维做好架构方面的设计是十分必要的,人无完人,只有方方面面都考虑到才能保证业务的安全。

在我们的架构中核心是zookeeper,在我前期的文章中也有关于我们业务架构的描述,不熟悉的朋友可以翻一翻,今天想讲的是zookeeper的平滑故障迁移,这实际上应该是故障应急演练,当然认为这是运维工作的可以跳过。

什么是zookeeper:

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

zookeeper的原理:

ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。

zookeeper的基本运行流程:

1、选举Leader。
2、同步数据。
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4、Leader要具有最高的执行ID,类似root权限。
5、集群中大多数的机器得到响应并接受选出的Leader。

实验理论

3台zookeeper形成稳定的集群,当其中一台发生故障时,另外两台接替故障的一台继续工作,当follower出现问题时,leader不会发生变化,此时将迁移的对象接入,由于持续工作的两台配置文件没有变更,所以迁移的对象无法接入,处于notrunning状态,改变配置重启follower节点,停止被迁移的zookeeper将迁移对象接入,此时应是被迁移对象与leader形成一个集群正常工作,改变第三个节点的配置文件形成迁移后的3节点集群

实验环境

4台zookeeper

IP:

172.31.253.111
172.31.253.112
172.31.253.113
172.31.253.115

业务稳定性迁移实验

业务稳定性迁移实验

业务稳定性迁移实验

业务稳定性迁移实验

实验步骤

1.配置zookeeper(112,113,115为一个集群,目前集群为原始集群,即为无故障集群,集群上放test作为数据标识)

112配置文件:zoo.cfg

业务稳定性迁移实验

Myid:1

113配置文件:zoo.cfg

业务稳定性迁移实验

Myid:2

115配置文件:zoo.cfg

业务稳定性迁移实验

Myid:3

启动集群,查看集群状态

112follower:

业务稳定性迁移实验

113follower:

业务稳定性迁移实验

115leader:

业务稳定性迁移实验

115是leader,保留115,从follower开始模拟112发生故障,替换112->111

4.替换

111配置文件:

业务稳定性迁移实验

Myid:1

启动111并查看状态

业务稳定性迁移实验

业务稳定性迁移实验

此时的集群状态:

111:not running(对状态有质疑的请往上翻看实验理论)
112:follower
113:follower
115:leader

查看数据:

业务稳定性迁移实验

存在测试数据test(标识数据)

将113的配置文件变更

业务稳定性迁移实验

停掉112重启并查看状态

业务稳定性迁移实验

此时集群状态:

111:follower
113:follower
115:leader

查看数据:

业务稳定性迁移实验

将115配置文件变更后重启

业务稳定性迁移实验

数据依旧存在并且完成zookeeper的故障机替换

注:在启动113时如果没有停掉112,会导致115,112为一个集群,111,113为一个集群,出现两个leader,数据在两个集群中同时存在,数据虽然不受影响,但集群会有瞬时的中断,在此过程中会造成数据丢失的风险,所以一定注意要将替换下的zookeeper停掉!

*本文原创作者:煜阳yuyang ,本文属于FreeBuf原创奖励计划,未经许可禁止转载


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码之美

代码之美

Grey Wilson / 聂雪军 / 机械工业出版社 / 2008年09月 / 99.00元

《代码之美》介绍了人类在一个奋斗领域中的创造性和灵活性:计算机系统的开发领域。在每章中的漂亮代码都是来自独特解决方案的发现,而这种发现是来源于作者超越既定边界的远见卓识,并且识别出被多数人忽视的需求以及找出令人叹为观止的问题解决方案。 《代码之美》33章,有38位作者,每位作者贡献一章。每位作者都将自己心目中对于“美丽的代码”的认识浓缩在一章当中,张力十足。38位大牛,每个人对代码之美都有自......一起来看看 《代码之美》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试