Raft分布式共识算法动画演示

Raft分布式共识算法动画演示

前言 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,如领导人选举、日志复制。这个演示动画就是为了方便理解这几个关键模块而设计的。 Raft 动画演示中文版: http://www.kailing.pub/raft/index.html 动...

阅读全文 »

腾讯消息中间件TubeMQ开源了

腾讯消息中间件TubeMQ开源了

TubeMQ总体介绍 TubeMQ是腾讯大数据在2013年开始研发的分布式消息中间件系统(MQ),专注服务大数据场景下海量数据的高性能存储和传输。经过近7年上万亿的海量数据沉淀,较之于众多的开源MQ组件,TubeMQ在海量实践(稳定性+性能)和低成本方面有一定的优势。博文转载自官方的文档,博主花了半天搭建开发环境到运行,到发送消息接收消息体验下来,发现不管是腾讯的TubeMQ,还是rocke...

阅读全文 »

etcd选主实现故障主备秒级切换高可用架构

etcd选主实现故障主备秒级切换高可用架构

什么是Etcd? etcd是一个强大的一致性的分布式键值存储,它提供了一种可靠的方式来存储需要由分布式系统或机器群访问的数据。它优雅地处理网络分区期间的领导者选举,并且可以容忍机器故障,即使在领导者节点中也是如此。从简单的Web应用程序到Kubernetes,任何复杂的应用程序都可以读取数据并将数据写入etcd。这是官方对Etcd的描述,基于这些特性,Etcd常用于分布式配置、分布式...

阅读全文 »

Windows下安装Etcd集群及etcd-viewer

Windows下安装Etcd集群及etcd-viewer

前言 最近在研究etcd,用于解决一个服务的主备切换的问题,工欲善其事必先利其器,先把本地所需的所有环境搭建好。涉及到本地Windows环境的etcd集群的搭建,以及etcd可视化web工具etcd-viewer的搭建。etcd使用go语言开发的,在Windows平台上最终编译成了可执行的exe文件,部署非常容易。 安装etcd集群 下载etcd 下载地址: https://github.com/etcd-io/etcd/releases 选择对应的版本下载即可,Windows版本...

阅读全文 »

Soul Api网关技术选型

前言 最近公司中台api有用到网关的需求,特整理了下网关的基本功能以及Soul网关系统的功能架构设计, 记录于此。 最终选择了Soul网关系统还是因为其架构设计清晰,基于spring boot而且提供了Admin管理后台,而且底层使用spring webflux响应式编程,基于zk的本地缓存设计支持分布式多实例部署,性能问题就不无需多虑了 网关有哪些功能需求? 网关需求 限流 为了保护后端服务的稳定,不...

阅读全文 »

Klcok分布式锁新增锁超时处理策略支持

Klcok分布式锁新增锁超时处理策略支持

klock简介 Klock是博主基于redis开发的分布式锁spring-boot starter组件,使得项目拥有分布式锁能力变得异常简单,支持spring boot,和spirng mvc等spring相关项目。基于注解驱动,支持spring Spel,方便的定义锁的key的粒度。项目已开源,这次主要新增了锁等待超时和锁释放超时的处理策略。 项目地址: https://gitee.com/kekingcn/spring-boot-klock-starter 本次更新内容 本次更新主要新增了【锁等待超时】和【...

阅读全文 »

改造Skywalking支持阿里云等带Http Basic的Elasticsearch服务

改造Skywalking支持阿里云等带Http Basic的Elasticsearch服务

前言 最近公司skywalking服务经常出现大盘空白的情况,经查明,是由于ES的写入瓶颈造成线程阻塞,数据没有落地到ES造成。后综合运维成本等方面考虑,准备使用阿里云提供的Elasticsearch服务,阿里云的ES无论内外网都加上了Http Basic认证,但是skywalking6.x提供的RestHighLevelClient客户端并没有适配带Http Basic基础认证的ES服务,所以需要稍加改动下skywalking源码。 skywalking项目结构 项目从github...

阅读全文 »