kafka 是一个分布式消息队列
群集部署, 可以部署在多个数据中心
topic: key, value, timestamp
每个topic:有分区日志
每个分区日志记录是顺序的, 不可变的串行offset...kafka的特点与优势
消息队列有两种:
队列(queue)
一群消费者消费同一个队列, 每个消息被其中一个消费者消费....优点: 多个消费者可以快速消费消息
缺点: 不支持多个消费者消费统一个消息, 消息被消费完以后就会小时
发布与订阅(publish-subscribe)
生产者广播消息给每一个消费者....优点: 消息可以同时被多个消费者消费
缺点:消息处理慢, 一次只能消费一个消息
kafka 的消费者组(consumer group)泛化了这两种消息队列, 一个消费者组就是queue, 订阅是跨消费者组的...不管服务器上有数据上50K,还是50T, 写入性能是一样的
kafka 存储系统设计原理
作为流处理系统, kafka的特点与优势
可以使用生产者与消费者api来处理, 但是更复杂的流可以使用kafka