Java
文章平均质量分 81
Nick_sxs
这个作者很懒,什么都没留下…
展开
-
记录下 zookeeper 集群迁移和易错点
前阵子做了zk 的集群升级迁移,大概情况是原来是一个三节点的 zk 集群(最小可用大概是zk1 192.168.2.1zk2 192.168.2.2zk3 192.168.2.3在 zoo.cfg 中的配置就是如下server.1=192.168.2.1:2888:3888server.2=192.168.2.2:2888:3888server.3=192.168.2.3:2888:3888原创 2022-05-31 14:49:03 · 313 阅读 · 0 评论 -
聊一下 RocketMQ 的消息存储二
CommitLog 是 rocketmq 的服务端,也就是 broker 存储消息的的文件,跟 kafka 一样,也是顺序写入,当然消息是变长的,生成的规则是每个文件的默认1G =1024 * 1024 * 1024,commitlog的文件名fileName,名字长度为20位,左边补零,剩余为起始偏移量;比如00000000000000000000代表了第一个文件,起始偏移量为0,文件大小为1G=1 073 741 824Byte;当这个文件满了,第二个文件名字为00000000001073741824,原创 2021-09-13 20:47:31 · 226 阅读 · 0 评论 -
聊一下 RocketMQ 的消息存储之 MMAP
这是个很大的话题了,可能会分成两部分说,第一部分就是所谓的零拷贝 ( zero-copy ),这一块其实也不新鲜,我对零拷贝的概念主要来自这篇文章,个人感觉写得非常好,在 rocketmq 中,最大的一块存储就是消息存储,也就是 CommitLog ,当然还有 ConsumeQueue 和 IndexFile,以及其他一些文件,CommitLog 的存储是以一个 1G 大小的文件作为存储单位,写完了就再建一个,那么如何提高这 1G 文件的读写效率呢,就是 mmap,传统意义的读写文件,read,write原创 2021-09-05 20:06:22 · 422 阅读 · 0 评论