用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM