Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统,常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。
多角度分析RocketMQ、RabbitMQ和Kafka区别三大经典且成熟的MQ产品:RabbitMQ、RocketMQ、Kafka 之间的差别基本已经被网文对比烂了,但基本对选型没有指导意义,本文尝试从核心层面厘清主流MQ产品各自异同。
Kafka数据传输通过 TransportLayer 来完成,其子类 PlaintextTransportLayer 通过Java NIO 的 FileChannel 的 transferTo 和 transferFrom 方法实现零拷贝。