基于生产者消费者模式
一、kafka
运行于zookeeper之上,从而实现整个集群化的管理
1.broker(服务端)
默认9092端口
持久化存储到disk中
基于磁盘存储
可以建多个充当集群
2.topic(队列)
区分数据
3.partition(分区)
topic内部
物理层面多个分区平均分散在多个broker上
4.备份,副本
备份存于其他broker
备份以分区为单位
5.版本
apache和confluent
6.工具
kafka-python 不稳定,会丢数据
confluent-kafka-python 较稳定
7.安装
依赖于librdkafka,先安装
配置
桥接 需要做端口映射 ,kafka 连接zookeeper:端口
一个zookeeper相当于一个节点
一个kafka一个brokerID
8.生产者
有回调
需要指明topic
9.消费者
需要指明topic
每个消费者必须有一个组 group
10.特征
消费分区是无序的,消费分区内的消息是有序的,整体是无序的
指定分区进行生产消费
subscribe订阅消费数据时,同一消费者组同一条数据, 只会被消费一次
assign seek 消费数据时可以消费多次
一个消费者可同时消费多个topic
对于topic的消费,消费者的数量应不多于topic分区的数量,否则多余的消费者将必定无法接受到消息
同一个分区的数据只会被一个消费者消费
网友评论