0


kafka

在做平台项目的时候,需要使用kafka去做消息队列去向下位机传送指令来操作下位机。在安装kafka时发现,现在kafka和zookeeper是绑定在一起的而且kafka是需要java环境的,zookeeper的端口为2181,kafka的端口为9092。

但是在坚挺的时候我们需要将kafka的监听ip换成机器ip,要不然她监听的就是127.0.0.1,修改一下,这里是有2处需要修改。

kafka的设计师什么样子的:

kafka将消息以topic为单位进行归纳,他也可以进行集群部署,每一个服务叫做一个broker。

kafka数据传输的事务定义有三种:

1.最多一次:消息不会被重复发送,最多被传输一次,但是有可能一次也不传输

2.最少一次:消息不会被漏发,最少被传输一次,但是有可能被传输多次

3.精确地一次(exactly once):不会漏传输也不会重复发送,每个消息仅被传输一次、

kafka集群是如何检测节点是否存活:

1.集群依赖zookeeper,zookeeper可以通过心跳机制检查每个节点存活情况,

2.如果一个节点是follower,那么它必须能够及时同步leader的写操作

kafka的consumer是通过主动从broker的topic中pull拉取消息,productor是通过push主动向broker中的topic发送消息,他是可以根据consumer自己的消费能力去消费消息,

kafka主要是去管理和处理流式数据的工具,具有低延迟,与传统的批量处理还是有区别的,

1.查看kafka下topic下的消息处理:

./kafka-consumer-groups.sh --describe --bootstrap-server 127.0.0.1:9092 --group dynamic

2.清空某一topic下的消息数目

./kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name platform_data --alter --add-config retention.ms=10000

kafka是如何保证消息不丢失的:

1.这个问题呢可以从kafka的结构来分析:

kafka分为producer,consumer,broker

首先producer传递消息到broker有一个ack机制:

标签: kafka 分布式

本文转载自: https://blog.csdn.net/weixin_41227420/article/details/135978528
版权归原作者 毛毛的毛毛 所有, 如有侵权,请联系我们删除。

“kafka”的评论:

还没有评论