一种基于Kafka的同步消息服务系统及实现方法技术方案

技术编号:25314869 阅读:33 留言:0更新日期:2020-08-18 22:32
本发明专利技术公开一种基于Kafka的同步消息服务系统及实现方法,系统包括:主题管理模块,为主题分配具体的生产者代理服务节点和Cache节点,为每个主题分配唯一的密钥标识,提供主题和密钥的认证服务;消费管理模块,对消费组进行约束,为消费组分配具体的消费者代理服务节点,并为每个消费组分配唯一的密钥标识,提供消费组和接入密钥的认证服务;生产者代理模块,将分组后消息写入本地队列和Cache队列,批量将队列消息同步发送到Kafka,由核心守护线程与Kafka集群进行交互;以及,消费者代理模块,负责消费主题消息并做权限认证。此种技术方案可解决消息发送的顺序、消息消费的重复等问题,消息服务效果好。

【技术实现步骤摘要】
一种基于Kafka的同步消息服务系统及实现方法
本专利技术属于计算机
,特别涉及一种基于Kafka集群的同步消息服务系统及实现方法。
技术介绍
Kafka服务是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据,这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。但是Kafka服务通常情况下是异步发送消息的,不能保证顺序性,且由于Kafka技术复杂度,会引起重复消费问题,应用场景主要集中在日志类数据采集或者大数据领域等非核心交易业务,若将Kafka消息服务用于订单交易领域,需要解决消息发送的顺序、消息消费的重复等问题,另外,延时消息作为消息服务不可或缺的重要组成部分,Kafka并不支持,针对这些问题,目前并没有相对成熟的解决方案。
技术实现思路
本专利技术的目的,在于提供一种基于Kafka的同步消息服务系统及实现方法,其可解决消息发送的顺序、消息消费的重复等问题,消息服务效果好。为了达成上述目的,本专利技术的解决方案是:一种基于Kafka的同步消息服务系统,包括:<本文档来自技高网...

【技术保护点】
1.一种基于Kafka的同步消息服务系统,其特征在于包括:/n主题管理模块,用于申请创建主题,为主题分配具体的生产者代理服务节点和Cache节点,为每个主题分配唯一的密钥标识,提供主题和密钥的认证服务;/n消费管理模块,用于申请创建消费组,对消费组进行约束,为消费组分配具体的消费者代理服务节点,并为每个消费组分配唯一的密钥标识,提供消费组和接入密钥的认证服务;/n生产者代理模块,用于接收主题消息,接收到消息时,首先进行主题权限认证,认证通过后,为每个消息生成唯一的消息ID,并对消息key进行hash分组,将分组后消息写入本地队列和Cache队列;写入成功后,客户端响应成功,同时启动一个核心守护...

【技术特征摘要】
1.一种基于Kafka的同步消息服务系统,其特征在于包括:
主题管理模块,用于申请创建主题,为主题分配具体的生产者代理服务节点和Cache节点,为每个主题分配唯一的密钥标识,提供主题和密钥的认证服务;
消费管理模块,用于申请创建消费组,对消费组进行约束,为消费组分配具体的消费者代理服务节点,并为每个消费组分配唯一的密钥标识,提供消费组和接入密钥的认证服务;
生产者代理模块,用于接收主题消息,接收到消息时,首先进行主题权限认证,认证通过后,为每个消息生成唯一的消息ID,并对消息key进行hash分组,将分组后消息写入本地队列和Cache队列;写入成功后,客户端响应成功,同时启动一个核心守护线程,批量将队列消息同步发送到Kafka,由核心守护线程与Kafka集群进行交互;如果接受到消息,守护线程就会不停的发送消息到Kafka,直到用户线程退出了,守护线程才会退出;以及,
消费者代理模块,负责消费主题消息并做权限认证,消费消息时,记录历史消息ID,并基于历史消息ID对后续的消息进行处理。


2.如权利要求1所述的基于Kafka的同步消息服务系统,其特征在于:所述生产者代理模块中,核心守护线程按照先进先出的顺序从本地队列中取出消息串行发送到Kafka。


3.如权利要求1所述的基于Kafka的同步消息服务系统,其特征在于:所述生产者代理模块中,如果接收到消息,核心守护线程会不停地发送消息到Kafka,直到用户线程退出,核心守护线程才会退出。


4.如权利要求1所述的基于Kafka的同步消息服务系统,其特征在于:所述系统还包括延时消息模块,延时消息模块内设置有调度主题,接收的延时消息首先转发调度主题,同时启动时间调度器对延时消息进行调度,触发调度时间时,将延时消息投递到目标主题。


5.一种基于Kafka的同步消息实现方法,其特征在于:包括将主题消息发送至...

【专利技术属性】
技术研发人员:陈剑刘航
申请(专利权)人:孩子王儿童用品股份有限公司
类型:发明
国别省市:江苏;32

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

1