The invention provides a message processing method and device, which relates to the field of data processing. By judging whether the sequence number contained in the message obtained from Kafka is the same as the value of the first global variable, the message is consumed only when the sequence number of the message is the same as the value of the first global variable. The message processing method and device provided by the invention can ensure that consumers consume according to the correct production sequence of the message.
【技術實現(xiàn)步驟摘要】
消息處理方法及裝置
本專利技術涉及數(shù)據(jù)處理領域,具體而言,涉及一種消息處理方法及裝置。
技術介紹
Kafka是一種基于zookeeper協(xié)調管理的分布式流平臺的消息系統(tǒng),能夠允許發(fā)布和訂閱流數(shù)據(jù),kafka的基本結構中至少包括有產(chǎn)生消息的生產(chǎn)者(producer)和消費消息的消費者(consumer),生產(chǎn)者負責生產(chǎn)消息,并發(fā)送給kafka服務器,消費者則從kafka集群中訂閱消費主題,以使消費者獲得kafka服務器中訂閱的主題下的消息進行消費。Kafka服務器在接收到生產(chǎn)者發(fā)送的消息時,會將一組消息歸納為一個主題(即Topic),簡單的說,主題就是kafka服務器對消息的分類,kafka服務器會將所有相同類別的消息存儲在同一主題下,消費者通過訂閱主題進行消費,即獲得相應的事件消息。
技術實現(xiàn)思路
本專利技術的目的在于提供一種消息處理方法及裝置,能夠確保消費者按照消息正確的生產(chǎn)順序進行消費。為了實現(xiàn)上述目的,本專利技術實施例采用的技術方案如下:第一方面,本專利技術實施例提供了一種消息處理方法,所述方法包括:從kafka主題獲取消息,其中,所述消息中包含有序列號,所述序列號用于指示消息生產(chǎn)者在生產(chǎn)所述消息時的順序;若所述消息的序列號與第一全局變量的值相同,消費所述消息,其中,所述第一全局變量的值用于指示待消費的消息在所述kafka主題中的序列號。第二方面,本專利技術實施例提供了一種消息處理裝置,所述裝置包括:收發(fā)模塊,用于從kafka主題獲取消息,其中,所述消息中包含有序列號,所述序列號用于指示消息生產(chǎn)者在生產(chǎn)所述消息時的順序;處理模塊,用于若所述消息的序列號與 ...
【技術保護點】
1.一種消息處理方法,其特征在于,所述方法包括:從kafka主題獲取消息,其中,所述消息中包含有序列號,所述序列號用于指示消息生產(chǎn)者在生產(chǎn)所述消息時的順序;若所述消息的序列號與第一全局變量的值相同,消費所述消息,其中,所述第一全局變量的值用于指示待消費的消息在所述kafka主題中的序列號。
【技術特征摘要】
1.一種消息處理方法,其特征在于,所述方法包括:從kafka主題獲取消息,其中,所述消息中包含有序列號,所述序列號用于指示消息生產(chǎn)者在生產(chǎn)所述消息時的順序;若所述消息的序列號與第一全局變量的值相同,消費所述消息,其中,所述第一全局變量的值用于指示待消費的消息在所述kafka主題中的序列號。2.如權利要求1所述的方法,其特征在于,若所述消息的序列號與第一全局變量的值相同,所述方法還包括:更新所述第一全局變量的值,且以所述更新后的第一全局變量的值,返回執(zhí)行所述從kafka主題獲取消息的步驟。3.如權利要求1所述的方法,其特征在于,若所述消息的序列號與第一全局變量的值不同,所述方法還包括:將所述消息保存到預設的數(shù)據(jù)庫;在所述預設的數(shù)據(jù)庫中查找序列號與所述第一全局變量的值相同的消息;若查找到,則消費所述查找到的消息,并更新所述第一全局變量的值,且以所述更新后的第一全局變量的值,返回執(zhí)行在所述預設的數(shù)據(jù)庫中查找序列號與所述第一全局變量的值相同的消息的步驟;若查找不到,則返回執(zhí)行所述從kafka主題獲取消息的步驟。4.如權利要求3所述的方法,其特征在于,所述將所述消息保存到預設的數(shù)據(jù)庫之后,所述方法還包括:比較所述第一全局變量的值和第二全局變量的值,其中,所述第二全局變量的值用于指示所述kafka主題中保存的消息的最大序列號;若所述第一全局變量的值大于所述第二全局變量的值,則更新所述第二全局變量的值,并以所述更新后的第二全局變量的值,返回執(zhí)行所述比較所述第一全局變量的值和第二全局變量的值的步驟;若所述第一全局變量的值小于或等于所述第二全局變量的值,則執(zhí)行所述在所述預設的數(shù)據(jù)庫中查找序列號與所述第一全局變量的值相同的消息的步驟。5.如權利要求3所述的方法,其特征在于,若在所述預設的數(shù)據(jù)庫中查找到序列號與所述第一全局變量的值相同的消息,消費所述查找到的消息后,所述方法還包括:從所述預設...
【專利技術屬性】
技術研發(fā)人員:陳欣欣,
申請(專利權)人:新華三大數(shù)據(jù)技術有限公司,
類型:發(fā)明
國別省市:河南,41
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。