摘要:
Kafka的用途有哪些?使用场景如何? 消息系统: Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性等功能。与此同时,Kafka 还提供了大多数消息系统难以实现的消息顺序性保障及回溯消费的功能。 存储系统: Kafka 把消息持久化 阅读全文
摘要:
由于RheaKV要讲起来篇幅比较长,所以这里分成几个章节来讲,这一章讲一讲RheaKV初始化做了什么? 阅读全文
摘要:
开篇 在上一篇文章当中,我们讲解了NodeImpl在init方法里面会初始化话的动作,选举也是在这个方法里面进行的,这篇文章来从这个方法里详细讲一下选举的过程。 由于我这里介绍的是如何实现的,所以请大家先看一下原理: "SOFAJRaft 选举机制剖析 | SOFAJRaft 实现原理" 文章比较长 阅读全文
摘要:
看完这个实现之后,感觉还是要多看源码,多研究。其实JRaft的定时任务调度器是基于Netty的时间轮来做的,如果没有看过Netty的源码,很可能并不知道时间轮算法,也就很难想到要去使用这么优秀的定时调度算法了。 对于介绍RepeatedTimer,我拿Node初始化的时候的electionTimer 阅读全文
摘要:
简介 pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的。 各大APM工具,几乎都是根据google这篇经典的Dapper论文而来,一定要读一读。这里是它的源文地址:ht 阅读全文
摘要:
我们这次依然用上次的例子CounterServer来进行讲解: 我这里就不贴整个代码了 我们在启动server的main方法的时候会传入日志存储的路径、SOFAJRaft集群的名字、当前节点的ip和端口、集群节点的ip和端口并设值到NodeOptions中,作为当前节点启动的参数。 这里会将当前节点 阅读全文
摘要:
本文基于最新的3.4.2的版本文档进行翻译,翻译自: https://github.com/LMAX Exchange/disruptor/wiki/Introduction https://github.com/LMAX Exchange/disruptor/wiki/Getting Starte 阅读全文
摘要:
SOFAJRaft 是基于 Raft 算法的生产级高性能 Java 实现,支持 MULTI RAFT GROUP。应用场景有 Leader 选举、分布式锁服务、高可靠的元信息管理、分布式存储系统。 如果不了解Raft算法的朋友可以去看看这篇文章: "Raft 为什么是更易理解的分布式一致性算法" , 阅读全文
摘要:
这里会介绍:
1. Sentinel会使用多线程的方式实现一个类Reactor的IO模型
2. Sentinel会使用心跳检测来观察控制台是否正常 阅读全文
摘要:
Sentinel源码解析系列: "1.Sentinel源码分析—FlowRuleManager加载规则做了什么?" "2. Sentinel源码分析—Sentinel是如何进行流量统计的?" "3. Sentinel源码分析— QPS流量控制是如何实现的?" "4.Sentinel源码分析— Sen 阅读全文