中间件
文章平均质量分 91
爱读源码的大都督
一个有态度的程序员
展开
-
美团简单版动态线程池源码实现
动态线程池原创 2022-09-18 17:53:54 · 691 阅读 · 1 评论 -
Nacos经典7道面试题
Nacos面试题原创 2022-09-14 14:11:50 · 39996 阅读 · 0 评论 -
Nacos入门使用教程
Nacos入门教程原创 2022-09-04 21:26:45 · 10512 阅读 · 1 评论 -
ElasticJob入门使用教程
单线程执行,若前一个任务执行时间较长,会导致下一个任务饥饿阻塞无分布式协调机制,如果只有一个节点就会单点风险,如果部署多个节点就会有并发执行的问题随着任务规模增多,无统一视角对其进行任务进度进行追踪和管控功能比较简单,没有超时、重试等高级特性。原创 2022-09-04 21:18:03 · 4031 阅读 · 2 评论 -
聊聊Zookeeper的一致性解决方案
个人认为Zookeeper就是一个数据库,一个分布式数据库,一个具有文件系统特征的分布式数据库,一个提供监听机制的具有文件系统特质的分布式数据库。如果跟大家聊Zookeeper,那就避不开领导者选举、CAP、ZAB协议、数据一致性这些概念。但事实上,这些概念中最核心的是数据一致性,CAP中的C代表的就是强一致性,ZAB协议就是用来保证数据一致性的,而大家熟知的领导者选举只是ZAB协议中的一个...原创 2019-07-02 15:46:02 · 207 阅读 · 0 评论 -
脑裂是什么?Zookeeper是如何解决的?
什么是脑裂脑裂(split-brain)就是“大脑分裂”,也就是本来一个“大脑”被拆分了两个或多个“大脑”,我们都知道,如果一个人有多个大脑,并且相互独立的话,那么会导致人体“手舞足蹈”,“不听使唤”。脑裂通常会出现在集群环境中,比如ElasticSearch、Zookeeper集群,而这些集群环境有一个统一的特点,就是它们有一个大脑,比如ElasticSearch集群中有Maste...原创 2019-07-23 18:02:33 · 1265 阅读 · 6 评论 -
Integer.highestOneBit(int i)方法的作用与底层实现
在Integer类中有这么一个方法,你可以给它传入一个数字,它将返回小于等于这个数字的一个2的幂次方数。这个方法就是highestOneBit(int i)。比如下面的Demo,注意方法的输入与返回值:System.out.println(Integer.highestOneBit(15)); // 输出8System.out.println(Integer.highestOneBit(1...原创 2019-08-29 18:07:57 · 641 阅读 · 1 评论 -
大型互联网公司分布式ID方案总结
ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需要对数据进行分表,而分表后,每个表中的数据都会按自己的节奏进行自增,很有可能出现ID冲突。这时就需要一个...原创 2019-09-05 15:36:11 · 1033 阅读 · 0 评论