用kafka实现消息推送 - Go语言中文社区

用kafka实现消息推送


 

 一个人知道的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只支持消息持久化,消费端为拉模型,消费状态和订阅关系由客户端端负责维护,消息消费完后不会立即删除,会保留历史消息。因此支持多订阅时,消息只会存储一份就可以了。

用代码说话:

3.消费者配置连接kafka:

4.消费者消费消息:

 

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

推荐阅读:

大数据Spark与Storm技术选型

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

SpringBoot外置tomcat

Kafka 入门教程

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

 

转载于:https://www.cnblogs.com/Javame/p/9644398.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/a64910807/article/details/102162278
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-02 18:14:32
  • 阅读 ( 1227 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢