上一页 1 2 3 4 5 6 7 8 9 ··· 27 下一页
  2020年5月10日
摘要: 执行 windows 脚本 kafka-topics.bat --create --zookeeper localhost:2181/kafka-zhang --replication-factor 1 --partitions 1 --topic zhang 命令行程序,获取 broker 元数据 阅读全文
posted @ 2020-05-10 18:42 偶尔发呆 阅读(1909) 评论(0) 推荐(0)
  2020年5月5日
摘要: producer acks 0, 1, -1 0 客户端不需要响应,如果 broker 写入异常,直接关闭连接1 分区 leader 写入 FileChannel 即返回-1 和 min.insync.replicas 参数联动 broker min.insync.replicas = 1 // 这 阅读全文
posted @ 2020-05-05 13:13 偶尔发呆 阅读(1405) 评论(0) 推荐(0)
  2020年5月1日
摘要: batch 发送,batch 存储(可压缩, FileChannel 顺序写盘),batch 拉取(sendFile) 查看 log: kafka-run-class.bat kafka.tools.DumpLogSegments --files D:/tmp/kafka-11-logs/zhang 阅读全文
posted @ 2020-05-01 22:58 偶尔发呆 阅读(532) 评论(0) 推荐(0)
  2020年4月26日
摘要: boss group 和 worker group boss group 中,一个线程,一个 selector,监听一个端口 worker group 中,一个线程,一个 selector,监听多个 channel 的读事件 boss 线程监听端口,建立连接,从 worker group 选择一个 阅读全文
posted @ 2020-04-26 10:57 偶尔发呆 阅读(171) 评论(0) 推荐(0)
  2020年4月24日
摘要: pulsar 实现了一个 RateLimiter 来限制 dispatch 的速率。 大体思路是:初始有 n 个令牌,当令牌被申请完了后,其他人就无法获得令牌了,每隔一段时间 t 会清零已分配的令牌数。所以,记住这 2 个参数即可。 通过一个测试用例,观察 RateLimiter 的用法。 // o 阅读全文
posted @ 2020-04-24 00:13 偶尔发呆 阅读(438) 评论(0) 推荐(0)
  2020年4月23日
摘要: consumer 拉取消息,对应的 queue 如果没有数据,broker 不会立即返回,而是以一种长轮询的方式处理,把 PullReuqest 保存起来,等待 queue 有了消息后,或者长轮询阻塞时间到了,再重新处理该 queue 上的所有 PullRequest。 1. queue 此时没有数 阅读全文
posted @ 2020-04-23 15:54 偶尔发呆 阅读(1312) 评论(0) 推荐(0)
  2020年4月14日
摘要: rocketmq 写文件 mmapMappedByteBuffer 写入消息的 byte 读文件 mmap读 MappedByteBuffer 发送消息给消费者 mmap + write一种:堆外 ByteBuffer 转堆内 byte 数组,通过 netty 发送另一种: netty 直接发送堆外 阅读全文
posted @ 2020-04-14 11:01 偶尔发呆 阅读(504) 评论(0) 推荐(0)
  2020年4月12日
摘要: 之前参加 rocketmq 的 meetup,台上有人讲,kafka 不支持同步刷盘,当时没太在意,今天抽空看了下代码: kafka 提供了配置参数来支持同步刷盘,和 rocktmq 的做法不同(4.7 的 rmq 在 sync_disk 模式,统一在 GroupCommitService 中刷盘, 阅读全文
posted @ 2020-04-12 11:50 偶尔发呆 阅读(3682) 评论(0) 推荐(0)
  2020年4月11日
摘要: 假定某消费组下有 3 个消费者,c0,c1,c2,订阅了 topic_zhang,该 topic 有 2 个 queue,分别是 q0,q1 现在我们有一个数组,按 consumer 名的哈希值大小排列:[c1,c0,c2] 先不考虑虚拟节点 q1 分配给 C0,q0 分配给 C2 当 C0 下线之 阅读全文
posted @ 2020-04-11 12:02 偶尔发呆 阅读(410) 评论(0) 推荐(0)
  2020年3月29日
摘要: 本文分析 netty 的 HashedWheelTimer 主要流程 示例: public static void main(String[] args) { // 指定 tick 的间隔时间,tick 的数量(规格化成 2 的幂之后,哈希数组的长度) HashedWheelTimer timer 阅读全文
posted @ 2020-03-29 13:19 偶尔发呆 阅读(351) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 27 下一页