本文首发于泊浮目的简书:[链接]版本日期备注1.02020.9.13文章首发1.12020.11.8优化对于第一个方案的措辞1.22021.1.17优化小结部分前言Clean Architecture是Bob大叔在2012年提出的一个架构模型。其根据过去几十年...
为什么是最简单的方式呢?我们想象一下,当我们写数据到Leader时,Leader写入自己的一份数据后,可能会做副本到Follower,那么拷贝的数量、及所在的位置都由该Leader来控制。但如果是多Leader调度,就要涉及到数...
当我们向zk发出一个数据更新请求时,这个请求的处理流程是什么样的?zk又是使用了什么共识算法来保证一致性呢?带着这些问题,我们进入今天的正文。
最近在开发时偶尔会观测到zk报出BadVersionException,后在搜索引起上得知了是乐观锁相关的问题,很快就解决了问题。不过学而不思则罔:无论是单体应用还是分布式系统,在运行过程中总要有一种机制来保证数据排他...
本文首发于泊浮目的简书:[链接]版本日期备注1.02020.4.8文章首发1.12020.4.18优化小结部分描述,使其更加详细易懂1.22020.8.10删除部分不重要的代码,减少篇幅,优化描述方式1. 前言本文面向读者:有java基础并对...
我们知道zookeeper是一个分布式协同系统。在一个大型的分布式系统中,必然会有大量的client来连接zookeeper。那么zookeeper是如何管理这些session的生命周期呢?带着这个问题,我们进入今天的正文。
本文首发于泊浮目的简书:[链接] 版本 日期 备注 1.0 2020.3.12 文章首发 1.0.1 2020.3.16 改进部分大小写问题及形容方式 1.0.2 2020.3.21 改进可能会引起错误理解的部分 1.0.3 2020.3.29 修改标题 1.0.4 2020.4.1...
这个可以通过官网来看[链接]。第一眼看过去,我们就知道它是一个分布式协同系统。并且提供了一些分布式系统中较常用的功能:如配置管理、DNS服务、分布式协同和组成员管理。
如果按照以往的惯例,我会在标题前面加个词简单描述一下。但在写这篇文章时,我想了很久,都没想出什么词可以满足“简单的描述一下”。所以就不写了。
本文首发于泊浮目的简书:[链接] 1. 前言 一个风和日丽的下午,我看着日常看代码做重构迁移,看到这么段代码: 突然,我看到了这样的代码: {代码...} 看了这段代码我整个人都不好了! 首先是那火箭式的三个嵌套for循环,...
简单解释一下这段代码——即通过ssh到一台机器上,然后执行一些命令.对命令输出的东西,开了一个循环,每一次读一定的位置,然后以字节流的形式读回来.
代理模式是在编程中非常常见的设计模式.笔者在面试的过程中也经常会问到相关的问题,但是很多同学答的并不尽人意.在这篇文章中,笔者想和大家聊聊代理模式的应用及一些实践.
最近项目在测试阶段陆陆续续的测出了一些bug.这个情况刚出现的时候,让笔者很困惑——平时我们的每个feature代码都是跟随着大量看起来考虑很周全的case进入代码仓库的,然而事实还是打了我们的脸.故在本文,笔者将会从...
在写代码的日常中,if...else语句是极为常见的.正因其常见性,很多同学在写代码的时候并不会去思考其在目前代码中的用法是否妥当.而随着项目的日渐发展,糟糕的if...else语句将会充斥在各处,让项目的可维护性急剧下...
18年还是让我觉得过得很快,我想去年的我也是这么想的.不同的是,我觉得我今年经历了许多事,这让我变得...或者说,在那么几个瞬间,我又老了一点.
众所周知,ZStack管理节点部分有一套较为完善的自动化测试框架,可以满足大多数场景。而Utility并非如此,只能通过黑盒测试来保证其质量,且许多测试场景需要start up一个真实的ZStack的环境,测试成本较高。
在前文 ZStack源码剖析之二次开发——可扩展框架中,我们大概的了解了如何在ZStack中进行二次开发。在本文,笔者将和大家一起了解一下常用debug管理节点的方法,用于更好的了解运行时的情况。
我经常写测试——这算是我对软件工程的一点执念。前阵子折腾了基于ZStack的二次开发,每次提交代码前都要自己跑一趟测试,着实有点慢。自己撸一套系统成本又太高,正发愁时发现GitLab自带了CI系统,便开始了折腾之旅。
在上篇文章中(ZStack源码剖析之二次开发——可扩展框架),我们简单的了解了一下ZStack核心引擎的二次开发技巧。在这篇文章中,我们将一起来了解ZStack-Utility(即ZStack的Agent端)的二开姿势。
在ZStack博文-5.通用插件系统中,官方提出了几个较为经典的扩展方式。但在实际的二次开发中,这些做法未必能够完全满足需求。今天笔者就和大家一起来看一看一些常见的扩展方法。
曾主导沃趣Iaas平台开发,并对ZStack、Zookeeper...