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.
【技术实现步骤摘要】
消息处理方法及装置
本专利技术涉及数据处理领域,具体而言,涉及一种消息处理方法及装置。
技术介绍
Kafka是一种基于zookeeper协调管理的分布式流平台的消息系统,能够允许发布和订阅流数据,kafka的基本结构中至少包括有产生消息的生产者(producer)和消费消息的消费者(consumer),生产者负责生产消息,并发送给kafka服务器,消费者则从kafka集群中订阅消费主题,以使消费者获得kafka服务器中订阅的主题下的消息进行消费。Kafka服务器在接收到生产者发送的消息时,会将一组消息归纳为一个主题(即Topic),简单的说,主题就是kafka服务器对消息的分类,kafka服务器会将所有相同类别的消息存储在同一主题下,消费者通过订阅主题进行消费,即获得相应的事件消息。
技术实现思路
本专利技术的目的在于提供一种消息处理方法及装置,能够确保消费者按照消息正确的生产顺序进行消费。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供了一种消息处理方法,所述方法包括:从kafka主题获取消息,其中,所述消息中包含有序列号,所述序列号用于指示消息生产者在生产所述消息时的顺序;若所述消息的序列号与第一全局变量的值相同,消费所述消息,其中,所述第一全局变量的值用于指示待消费的消息在所述kafka主题中的序列号。第二方面,本专利技术实施例提供了一种消息处理装置,所述装置包括:收发模块,用于从kafka主题获取消息,其中,所述消息中包含有序列号,所述序列号用于指示消息生产者在生产所述消息时的顺序;处理模块,用于若所述消息的序列号与 ...
【技术保护点】
1.一种消息处理方法,其特征在于,所述方法包括:从kafka主题获取消息,其中,所述消息中包含有序列号,所述序列号用于指示消息生产者在生产所述消息时的顺序;若所述消息的序列号与第一全局变量的值相同,消费所述消息,其中,所述第一全局变量的值用于指示待消费的消息在所述kafka主题中的序列号。
【技术特征摘要】
1.一种消息处理方法,其特征在于,所述方法包括:从kafka主题获取消息,其中,所述消息中包含有序列号,所述序列号用于指示消息生产者在生产所述消息时的顺序;若所述消息的序列号与第一全局变量的值相同,消费所述消息,其中,所述第一全局变量的值用于指示待消费的消息在所述kafka主题中的序列号。2.如权利要求1所述的方法,其特征在于,若所述消息的序列号与第一全局变量的值相同,所述方法还包括:更新所述第一全局变量的值,且以所述更新后的第一全局变量的值,返回执行所述从kafka主题获取消息的步骤。3.如权利要求1所述的方法,其特征在于,若所述消息的序列号与第一全局变量的值不同,所述方法还包括:将所述消息保存到预设的数据库;在所述预设的数据库中查找序列号与所述第一全局变量的值相同的消息;若查找到,则消费所述查找到的消息,并更新所述第一全局变量的值,且以所述更新后的第一全局变量的值,返回执行在所述预设的数据库中查找序列号与所述第一全局变量的值相同的消息的步骤;若查找不到,则返回执行所述从kafka主题获取消息的步骤。4.如权利要求3所述的方法,其特征在于,所述将所述消息保存到预设的数据库之后,所述方法还包括:比较所述第一全局变量的值和第二全局变量的值,其中,所述第二全局变量的值用于指示所述kafka主题中保存的消息的最大序列号;若所述第一全局变量的值大于所述第二全局变量的值,则更新所述第二全局变量的值,并以所述更新后的第二全局变量的值,返回执行所述比较所述第一全局变量的值和第二全局变量的值的步骤;若所述第一全局变量的值小于或等于所述第二全局变量的值,则执行所述在所述预设的数据库中查找序列号与所述第一全局变量的值相同的消息的步骤。5.如权利要求3所述的方法,其特征在于,若在所述预设的数据库中查找到序列号与所述第一全局变量的值相同的消息,消费所述查找到的消息后,所述方法还包括:从所述预设...
【专利技术属性】
技术研发人员:陈欣欣,
申请(专利权)人:新华三大数据技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。