【技术实现步骤摘要】
基于kafka的消息处理方法、系统、存储介质及计算机设备
本专利技术涉及消息处理
,尤其是涉及一种基于kafka的消息处理方法、消息消费端、基于kafka的消息处理系统、存储介质及计算机设备。
技术介绍
kafka是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它最大的特性是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等。但是,当系统出现数据库连接故障、消息队列的集群选举等问题时,就可能会导致大量消息消费异常的问题,此时,大量消费异常的消息就会加重系统的性能负担,并且引起数据节点不一致的异常,从而导致各系统间业务处理进度不一致的问题,进而阻塞业务的正常流转。
技术实现思路
有鉴于此,本申请提供了一种基于kafka的消息处理方法、消息消费端、基于kafka的消息处理系统、存储介质及计算机设备,主 ...
【技术保护点】
1.一种基于kafka的消息处理方法,其特征在于,所述方法包括:/n在kafka集群的第一消息队列中获取携带了唯一标识的消息,并根据所述唯一标识判断所述消息是否保存在数据库中;/n若所述消息保存在所述数据库中,则判断所述消息的消费状态是否为正常;/n若所述消息的消费状态为正常,则取消对所述消息执行消费操作;/n若所述消息未保存在所述数据库中或所述消息的消费状态为异常,则对所述消息执行消费操作,并在执行消费操作之后标记所述消息的消费状态;/n将所述消息和所述消息的消费状态保存在所述数据库中。/n
【技术特征摘要】
1.一种基于kafka的消息处理方法,其特征在于,所述方法包括:
在kafka集群的第一消息队列中获取携带了唯一标识的消息,并根据所述唯一标识判断所述消息是否保存在数据库中;
若所述消息保存在所述数据库中,则判断所述消息的消费状态是否为正常;
若所述消息的消费状态为正常,则取消对所述消息执行消费操作;
若所述消息未保存在所述数据库中或所述消息的消费状态为异常,则对所述消息执行消费操作,并在执行消费操作之后标记所述消息的消费状态;
将所述消息和所述消息的消费状态保存在所述数据库中。
2.根据权利要求1所述的方法,其特征在于,所述对所述消息执行消费操作,并在执行消费操作之后标记所述消息的消费状态,包括:
对所述消息执行消费操作,并在执行消费操作之后判断所述消息是否消费成功;
若所述消息消费成功,则将所述消息的消费状态标记为正常;
若所述消息消费失败,则将所述消息的消费状态标记为异常;
提交所述消息的消费位移至kafka集群。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述消息的消费状态为异常,则将所述消息发送到kafka集群的第二消息队列中;
在所述kafka集群的第二消息队列中获取所述消息;
等待预设时间后,对所述消息执行消费操作,并在执行消费操作之后判断所述消息是否消费成功;
若所述消息消费成功,则将所述消息的消费状态更新为正常;
提交所述消息的消费位移至kafka集群。
4.根据权利要求3所述的方法,其特征在于,所述提交所述消息的消费位移至kafka集群的方式为手动提交。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
周...
【专利技术属性】
技术研发人员:沈会来,
申请(专利权)人:平安医疗健康管理股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。