一种订阅消息处理方法和装置制造方法及图纸

技术编号:26375598 阅读:24 留言:0更新日期:2020-11-19 23:44
本发明专利技术提供一种订阅消息处理方法和装置,包括:获取待处理订阅消息,其中,所述待处理订阅消息包括对应的消息主题;根据所述消息主题在预设的哈希表中查询对应的哈希值,并将所述哈希值添加到主题属性;根据所述主题属性和所述待处理订阅消息创建直接模式的订阅消息队列,本申请提供的方法保证了数据处理的吞吐量和业务实现开发的简易性,同时避免了异常情况下kafka集群中订阅消息丢失的问题。

【技术实现步骤摘要】
一种订阅消息处理方法和装置
本专利技术涉及计算机
,特别涉及一种订阅消息处理方法和装置、计算设备和存储介质。
技术介绍
在现有的sparkstreaming等流式消费kafka消息时,有一些方案是基于kafka的高阶消费api实现的,如sparkstreaming的Receiver消费模式,分异步线程拉取消息并自动修改zk中保存的消费者的偏移量。此方案因为无需开发者关注偏移量的维护内容,在业务开发层面使用较简单,所以很多场景使用。但是因如上方案中的kafka消息拉取和偏移量修改与业务操作上是异步的,所以在异常情况下,如各种原因的重启、业务报错等会导致消息实际并未进行业务处理而Receiver已经拉取并修改了偏移量即消息丢失了,虽然sparkstreaming为Receiver提供了writeAheadLog机制。通过接收器接收到的所有输入数据将被保存到预写日志中,以便在程序恢复后可从日志中读取。这样无疑是针对消息增加了一次文件读写、减少了消息处理的吞吐量、增加了复杂性。
技术实现思路
有鉴于此,本专利技术实施例本文档来自技高网...

【技术保护点】
1.一种订阅消息处理方法,其特征在于,包括:/n获取待处理订阅消息,其中,所述待处理订阅消息包括对应的消息主题;/n根据所述消息主题在预设的哈希表中查询对应的哈希值,并将所述哈希值添加到主题属性;/n根据所述主题属性和所述待处理订阅消息创建直接模式的订阅消息队列。/n

【技术特征摘要】
1.一种订阅消息处理方法,其特征在于,包括:
获取待处理订阅消息,其中,所述待处理订阅消息包括对应的消息主题;
根据所述消息主题在预设的哈希表中查询对应的哈希值,并将所述哈希值添加到主题属性;
根据所述主题属性和所述待处理订阅消息创建直接模式的订阅消息队列。


2.如权利要求1所述的订阅消息处理方法,其特征在于,所述方法还包括:
根据sparkstreaming消费所述订阅消息队列中的订阅消息;
在消费成功的情况下,更新所述哈希表中的哈希值。


3.如权利要求2所述的订阅消息处理方法,其特征在于,所述方法还包括:
在消费异常的情况下,查询所述消费异常是否为可控异常;
若是,则捕获所述消费异常并进行对应的异常处理;
若否,抛出所述消费异常,并结束消费。


4.如权利要求2所述的订阅消息处理方法,其特征在于,所述预设的哈希表通过下述步骤获得:
获取kafka集群中的主题;
根据所述主题设置对应的至少一个主题分区号和每个所述主题分区号对应的偏移量初始值;
将所述主题分区号作为主键,将所述主题分区号对应的偏移量初始值作为值对应存储到redis哈希表。


5.如权利要求4所...

【专利技术属性】
技术研发人员:朱常杰
申请(专利权)人:北京思特奇信息技术股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1