一条消息在kafka是如何生产的?
一条消息在kafka是如何存储的?
一条消息在kafka是如何消费的?
Kafka为什么高性能?
Kafka为什么高可用?
顺序读写在kafka源码体现:
写:提前批量申请segment+基于上次offset写入
读:从固定位置读取+size
传统的IO流程:
零拷贝kafka实现:
2)-OffsetIndex的mmap实现零拷贝(将内核中读缓冲区(read buffer)的地址与用户空间的缓冲区(user buffer)进行映射,从而实现内核缓冲区与应用程序内存的共享)
a. 每个分区可以配置副本,主要用于容灾处理。比如leader副本挂了,可以再选择其他ISR的follower副本来作为leader副本,进而对外服务
b. 只有leader副本对外提供服务,follower副本不提供服务,只会跟leader副本保持数据同步
a. 对于高可靠性要求较高的场景,设置ack=all可以保证消息不会丢失
b.不丢失原理
上一篇:中国为什么要发展人工智能
下一篇:js-学习链表