欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用kafka实现消息推送

程序员文章站 2022-06-10 13:51:08
一个人知道的Topic是单点推送,大家都知道Topic是广播。 kafka消息消费机制: 1.广播消费:通过定义topic前缀来标识属于广播的消息(例如:topicname:gonggao1535680698557,gonggao1535680722624,gonggao1535681677381等 ......

 

 一个人知道的topic是单点推送,大家都知道topic是广播。

 

kafka消息消费机制:

1.广播消费:通过定义topic前缀来标识属于广播的消息(例如:topicname:gonggao1535680698557,gonggao1535680722624,gonggao1535681677381等topic),消费这些前缀为公告的消息时,不同的角色,不同的userid代表对应的groupid,实现广播消费。

2.单个消费:通过定义topic前缀为person的topic(例如:person1time1536031022097  persion和time中间的数字为当前用户:1  ,person2time165156165 persion和time中间的数字为当前用户:2 ),对应的在消费该消息时groupid固定,kafka就不能广播消费,只能对应某个用户消费了。

注意:在消费过程中有一个配置:enable.auto.commit(当为true则消费该消息,下次再消费就不能消费了,当为false时消费该消息,下次还能消费)。

用kafka实现消息推送

kafka只支持消息持久化,消费端为拉模型,消费状态和订阅关系由客户端端负责维护,消息消费完后不会立即删除,会保留历史消息。因此支持多订阅时,消息只会存储一份就可以了。

用代码说话:

用kafka实现消息推送

3.消费者配置连接kafka:

用kafka实现消息推送

4.消费者消费消息:

 用kafka实现消息推送

——————————————————

推荐阅读:

大数据spark与storm技术选型

华为java编程军规,每季度代码验收标准

springboot外置tomcat

kafka 入门教程

你可以不懂但一定要知道的代码审查 code review