剖析dubbo服务注册到nacos的过程

剖析dubbo服务注册到nacos的过程

剖析dubbo服务注册到nacos的过程 前面聊到到了我们的dubbo服务从redis迁移到nacos注册中心,迁移后发现,会时不时的抛一个异常ERROR com.alibaba.nacos.client.naming - [CLIENT-BEAT] failed to send beat:, 所以有了这个剖析过程,当然最后查明异常是我们的SLB网络映射问题,和nacos没有关系。 dubbo版本:2.7.4.1 nacos client版本:1.0.0 nacos server版本:1.1.3 简述过程 dubbo侧:dubbo通过nacos注册中心实现,注册服务到...

阅读全文 »

dubbo升级2.7.4.1平滑迁移到nacos

dubbo升级2.7.4.1平滑迁移到nacos

前言 dubbo是一款非常优秀的服务治理型RPC框架,dubbo的优秀在于,庞大的架构体系、精湛的模块设计、灵活的SPI设计、丰富的组件实现,博主做微服务技术选型考察dubbo时,非常惊叹在那个年代别人就已经能够产出如此优秀的项目,以至于后面每逢别人说想要学习架构设计时,我都会推荐他读读dubbo的代码,学习下dubbo的架构设计原则。常说dubbo不仅仅是一款RPC框架,是因为他的服务治理...

阅读全文 »

解析OpLog订阅MongoDB的数据变更就这么简单

解析OpLog订阅MongoDB的数据变更就这么简单

前言 我们开源了一个订阅分发mysql的binlog的项目,一直用的非常好,忽然有天开发说能不能支持MongoDB的数据订阅呢,MongoDB的使用度也挺广泛的。安排。经过简单的了解后发现MongoDB也有类似binlog的机制,最终花了两天时间把功能完成,并统一抽象集成到binlog开源项目中,使用和binlog同一套订阅分发模型管理MongoDB数据源。整个过程非常顺利,比整mysql的binlog要简单的多了。 binlog数据订阅...

阅读全文 »

浅析jetcd中的KeepAlive实现

浅析jetcd中的KeepAlive实现

前言 Etcd的Java客户端有很多开源实现,Jetcd是Etcd官方仓库的Java客户端,整体api接口设计实现和官方go客户端类似,简洁易用。其中,租期续约的接口提供了两个分别是keepAliveOnce和keepAlive。功能如其名,keepAliveOnce是单次续约的接口,如果要保持租约,需要手动触发这个接口,所以这个接口基本不用。而keepAlive是自动续约保活的接口。大多数场景下,使用keepAlive即可,但是针对不同的场...

阅读全文 »

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常用于分布式配置、分布式...

阅读全文 »