会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
偶尔发呆
学习时有短暂的平静
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
6
7
8
···
27
下一页
2020年6月30日
AQS 中的条件
摘要: 按照我看源码的进度,条件 condition 是 aqs 的最后一块拼图。 我总结的 aqs 三要素:stateownerThread等待队列 这里没有考虑到 condition,condition 的用法如下 lock.lock(); condition.await(t); lock.unlock
阅读全文
posted @ 2020-06-30 18:05 偶尔发呆
阅读(175)
评论(0)
推荐(0)
2020年6月22日
kafka controller 处理事件
摘要: KafkaController 需要处理各种各样的事件,事件统一投递到队列里面,由一个线程进行消费。 // kafka.controller.ControllerEventManager private val putLock = new ReentrantLock() // 存放事件的队列 pri
阅读全文
posted @ 2020-06-22 12:59 偶尔发呆
阅读(351)
评论(0)
推荐(0)
2020年6月21日
切换 leader
摘要: 场景: 3 节点集群 (b1, b2, b3),分区 tp1 的 isr[1, 2, 3],leader 是 1,现在希望把 tp1 的 leader 切换为 3,怎么操作? 1. 通过 zk 客户端,修改 zk 上 tp1 的 isr 列表为 [3, 2, 1] 2. 执行命令行 kafka-pr
阅读全文
posted @ 2020-06-21 17:47 偶尔发呆
阅读(895)
评论(0)
推荐(0)
2020年6月20日
副本迁移
摘要: kafka 非常难,难在 broker 有角色之分,controller 起控制作用,难在副本有角色之分,leader 提供读写服务,所以 broker 会有状态的切换,副本也有状态的切换。 从一个具体的场景切入,4 节点集群(b1, b2, b3, b4),存在 1 个分区 tp0 分布在 (b1
阅读全文
posted @ 2020-06-20 23:06 偶尔发呆
阅读(237)
评论(0)
推荐(0)
ReentrantLock.tryLock
摘要: 通常使用 ReentrantLock.tryLock 的时候,都会带上一个时间戳,如果到了时间仍然没获取锁返回 false。 不带时间戳,当前线程只会尝试获取一次锁,然后返回结果;带上时间戳,则当前线程在等待时间内会多次尝试获取锁。 这里面细节还挺多,在等待时间内,线程是否会挂起? 如果挂起,是怎么
阅读全文
posted @ 2020-06-20 12:28 偶尔发呆
阅读(1084)
评论(0)
推荐(0)
2020年6月16日
isr 管理
摘要: 每一个副本 leader 管理自己的 isr 列表,进行扩缩,并写入 zk 把某些 replica 加入到 isr 中:如果 follower 的 offset 大于等于 leader 的 HW,则把该 replica 加入到 isr 中 // kafka.cluster.Partition#may
阅读全文
posted @ 2020-06-16 22:29 偶尔发呆
阅读(398)
评论(0)
推荐(0)
kafka 的 DelayedProduce
摘要: producer 发送数据到 broker,如果 producer 端设置 acks = -1,同时 broker 侧配置 min.insync.replicas = 2,这时 broker 会创建 DelayedProduce,leader broker 会等待消息复制到其他副本中,或者超时后返回
阅读全文
posted @ 2020-06-16 15:12 偶尔发呆
阅读(607)
评论(0)
推荐(0)
2020年6月7日
nacos naming 交互图的一种情形
摘要:
阅读全文
posted @ 2020-06-07 11:40 偶尔发呆
阅读(231)
评论(0)
推荐(0)
nacos config 交互图
摘要:
阅读全文
posted @ 2020-06-07 10:08 偶尔发呆
阅读(169)
评论(0)
推荐(0)
2020年5月17日
rocketmq 如何保证顺序消费
摘要: rocketMQ 为了保证 consumer 顺序消费,做了很多工作。 MQClientManager 在 jvm 进程中是单例,其内部维护一个 map,键是 clientId,值是 MQClientInstance,业务 producer 和 consumer 使用的是同一个 MQClientIn
阅读全文
posted @ 2020-05-17 14:31 偶尔发呆
阅读(4780)
评论(1)
推荐(1)
上一页
1
2
3
4
5
6
7
8
···
27
下一页
公告