搞流处理的话,无论如何是绕不过Kafka的了,还好Kafka是一个概念比较好理解的架构模型。
我觉得官方的这三张图已经很好地把模型结构给阐述清楚了。
- 发布-订阅模型:实现消息写入与消息读取解耦。Kafka相当于是一个消息缓冲池
2. 日志文件顺序结构:Kafka的高吞吐量就是依赖顺序写入(当然还包括了一些零拷贝的内容);消息可以写入多个分区来实现并行,但是多分区的主题只能保证一个分区内的消息是有序的。
3. 消息持久化:消息是以磁盘文件进行保存,可以保存一定的时间。消息可被多次消费,每个消费者记录自己消费的偏移量