一种消息请求处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38971432 阅读:20 留言:0更新日期:2023-09-28 09:35
本发明专利技术公开了一种消息请求处理方法、装置、电子设备及存储介质,该方法包括:基于目标端口获取请求类型为非元数据请求的第一消息请求;对第一消息请求中关联目标主题标识的第一字段内容添加目标环境标识得到目标第一消息请求;基于目标主题标识和目标环境标识,确定服务地址映射信息中相匹配的目标服务地址映射信息;基于目标服务地址映射信息中的目标服务地址发送目标第一消息请求,获取针对目标第一消息请求返回的消息数据;删除消息数据中的目标环境标识得到目标消息数据,将目标消息数据返回给第一消息请求的请求方。本发明专利技术在减少资源消耗、业务代码无入侵式的同时实现了不同环境的客户端与Kafka集群之间交互的主题达到环境隔离。到环境隔离。到环境隔离。

【技术实现步骤摘要】
一种消息请求处理方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机
,特别涉及一种消息请求处理方法、装置、电子设备及存储介质。

技术介绍

[0002]Kakfa是一个基于发布/订阅模式的消息系统,Kafka中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。其中,Topic是指消息的主题,代表一类消息,生产者和消费者通过主题进行消息通信;生产者是指向Topic发布消息的客户端程序,消费者是指订阅Topic消息的客户端程序。
[0003]相关技术中,为了实现不同环境的客户端与Kafka之间交互的主题达到环境隔离,采用以下两种处理方式:一种是kafka多实例隔离,不同环境使用独立的kafka集群,各环境分别与其对应的kafka集群单独连接互不干扰;另一种是客户端代码层面Topic隔离,在代码层面生产/消费不同的Topic主题。相关技术中的上述方式一由于每一个环境都需要一个Kafka集群实例,从而造成资源消耗非常大,而上述方式二必须在业务代码中将客户端生产/消费需要涉及的Topic主题信息全部增加环境标识后再与Kafka集群交互,从而会入侵业务代码,造成业务服务改动和维护成本高。

技术实现思路

[0004]为了解决现有技术的问题,本专利技术实施例提供了一种消息请求处理方法、装置、电子设备及存储介质。所述技术方案如下:
[0005]一方面,提供了一种消息请求处理方法,所述方法包括:
[0006]基于目标端口获取第一消息请求;所述第一消息请求的请求类型为非元数据请求;
[0007]对所述第一消息请求中关联目标主题标识的第一字段内容添加目标环境标识,得到目标第一消息请求;所述目标环境标识为基于环境端口映射信息确定的所述目标端口对应的环境标识,所述环境端口映射信息表征环境标识与端口地址之间的对应关系;
[0008]基于所述目标主题标识和所述目标环境标识,确定服务地址映射信息中相匹配的目标服务地址映射信息;所述服务地址映射信息表征主题环境标识与服务地址之间的对应关系,所述主题环境标识包括主题标识和环境标识,所述服务地址为消息服务器集群中消息服务器的地址;
[0009]基于所述目标服务地址映射信息中的目标服务地址发送所述目标第一消息请求,获取针对所述目标第一消息请求返回的消息数据;
[0010]删除所述消息数据中的所述目标环境标识得到目标消息数据,将所述目标消息数据返回给所述第一消息请求的请求方;所述请求方的业务环境为所述目标环境标识对应的目标环境。
[0011]另一方面,提供了一种消息请求处理装置,所述装置包括:
[0012]第一消息请求获取模块,用于基于目标端口获取第一消息请求;所述第一消息请求的请求类型为非元数据请求;
[0013]第一环节标识添加模块,用于对所述第一消息请求中关联目标主题标识的第一字段内容添加目标环境标识,得到目标第一消息请求;所述目标环境标识为基于环境端口映射信息确定的所述目标端口对应的环境标识,所述环境端口映射信息表征环境标识与端口地址之间的对应关系;
[0014]第一映射信息确定模块,用于基于所述目标主题标识和所述目标环境标识,确定服务地址映射信息中相匹配的目标服务地址映射信息;所述服务地址映射信息表征主题环境标识与服务地址之间的对应关系,所述主题环境标识包括主题标识和环境标识,所述服务地址为消息服务器集群中消息服务器的地址;
[0015]第一发送模块,用于基于所述目标服务地址映射信息中的目标服务地址发送所述目标第一消息请求,获取针对所述目标第一消息请求返回的消息数据;
[0016]第一数据返回模块,用于删除所述消息数据中的所述目标环境标识得到目标消息数据,将所述目标消息数据返回给所述第一消息请求的请求方;所述请求方的业务环境为所述目标环境标识对应的目标环境。
[0017]在一个示例性的实施方式中,所述装置还包括:
[0018]第二消息请求获取模块,用于基于目标端口获取所述请求方发送给所述消息服务器集群的第二消息请求;所述第二消息请求的请求类型为元数据请求;
[0019]第二环境标识添加模块,用于对所述第二消息请求中关联所述目标主题标识的第二字段内容添加所述目标环境标识,得到目标第二消息请求;
[0020]第二发送模块,用于将所述目标第二消息请求发送给所述消息服务器集群,获取所述消息服务器集群返回的元数据信息;所述元数据信息包括所述消息服务器集群中对应目标主题环境标识的消息服务器的地址信息;
[0021]服务地址映射信息生成模块,用于基于所述对应目标主题环境标识的消息服务器的地址信息,生成所述目标服务地址映射信息;
[0022]元数据处理模块,用于将所述元数据信息中所述消息服务器的地址信息,替换为所述目标端口的目标端口地址,并删除所述元数据信息中的所述目标环境标识得到目标元数据信息;
[0023]第二数据返回模块,用于将所述目标元数据信息返回给所述请求方,以使得所述请求方基于所述目标元数据信息中的所述目标端口地址向所述目标端口发送所述第一消息请求。
[0024]在一个示例性的实施方式中,所述第二消息请求获取模块,具体用于接收所述请求方基于目标转发规则拦截转发的所述第二消息请求;
[0025]其中,所述目标转发规则是指所述目标环境对应的转发规则集合中,与所述第二消息请求的目的地址相匹配的转发规则;所述转发规则集合中的转发规则基于所述服务地址与所述目标端口地址的对应关系生成。
[0026]在一个示例性的实施方式中,所述装置还包括:
[0027]代理激活模块,用于响应于代理激活请求,从处于空闲状态的端口中选取目标端口,调整所述目标端口为处于工作状态并获取所述目标端口的目标端口地址;所述代理激
活请求包括所述目标环境标识和所述服务地址;
[0028]转发规则生成写入模块,用于根据所述服务地址与所述目标端口地址,生成对应所述目标环境标识的转发规则,将所述转发规则写入所述请求方的所述转发规则集合;
[0029]环境端口映射信息生成模块,用于根据所述目标环境标识与所述目标端口地址之间的对应关系,生成所述环境端口映射信息。
[0030]在一个示例性的实施方式中,所述装置还包括:
[0031]代理关闭模块,用于响应于代理关闭请求,根据所述代理关闭请求中的目标环境标识,确定所述环境端口映射信息中相匹配的目标映射信息;所述目标映射信息指示所述目标环境标识与目标端口地址的对应关系;
[0032]转发规则删除模块,用于根据所述代理关闭请求中的服务地址和所述目标端口地址,将对应的转发规则从所述请求方的所述转发规则集合中删除;
[0033]端口映射信息调整模块,用于调整所述目标端口地址对应的目标端口为处于空闲状态,删除所述目标映射信息。
[0034]在一个示例性的实施方式中,所述代理激活模块包括:
[0035]轮询模块,用于响应于代理激活请求,向本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息请求处理方法,其特征在于,所述方法包括:基于目标端口获取第一消息请求;所述第一消息请求的请求类型为非元数据请求;对所述第一消息请求中关联目标主题标识的第一字段内容添加目标环境标识,得到目标第一消息请求;所述目标环境标识为基于环境端口映射信息确定的所述目标端口对应的环境标识,所述环境端口映射信息表征环境标识与端口地址之间的对应关系;基于所述目标主题标识和所述目标环境标识,确定服务地址映射信息中相匹配的目标服务地址映射信息;所述服务地址映射信息表征主题环境标识与服务地址之间的对应关系,所述主题环境标识包括主题标识和环境标识,所述服务地址为消息服务器集群中消息服务器的地址;基于所述目标服务地址映射信息中的目标服务地址发送所述目标第一消息请求,获取针对所述目标第一消息请求返回的消息数据;删除所述消息数据中的所述目标环境标识得到目标消息数据,将所述目标消息数据返回给所述第一消息请求的请求方;所述请求方的业务环境为所述目标环境标识对应的目标环境。2.根据权利要求1所述的消息请求处理方法,其特征在于,在所述基于目标端口获取第一消息请求之前,所述方法还包括:基于目标端口获取所述请求方发送给所述消息服务器集群的第二消息请求;所述第二消息请求的请求类型为元数据请求;对所述第二消息请求中关联所述目标主题标识的第二字段内容添加所述目标环境标识,得到目标第二消息请求;将所述目标第二消息请求发送给所述消息服务器集群,获取所述消息服务器集群返回的元数据信息;所述元数据信息包括所述消息服务器集群中对应目标主题环境标识的消息服务器的地址信息;基于所述对应目标主题环境标识的消息服务器的地址信息,生成所述目标服务地址映射信息;将所述元数据信息中所述消息服务器的地址信息,替换为所述目标端口的目标端口地址,并删除所述元数据信息中的所述目标环境标识得到目标元数据信息;将所述目标元数据信息返回给所述请求方,以使得所述请求方基于所述目标元数据信息中的所述目标端口地址向所述目标端口发送所述第一消息请求。3.根据权利要求2所述的消息请求处理方法,其特征在于,所述基于目标端口获取所述请求方发送给所述消息服务器集群的第二消息请求包括:接收所述请求方基于目标转发规则拦截转发的所述第二消息请求;其中,所述目标转发规则是指所述目标环境对应的转发规则集合中,与所述第二消息请求的目的地址相匹配的转发规则;所述转发规则集合中的转发规则基于所述服务地址与所述目标端口地址的对应关系生成。4.根据权利要求3所述的消息请求处理方法,其特征在于,所述方法还包括:响应于代理激活请求,从处于空闲状态的端口中选取目标端口,调整所述目标端口为处于工作状态并获取所述目标端口的目标端口地址;所述代理激活请求包括所述目标环境标识和所述服务地址;
根据所述服务地址与所述目标端口地址,生成对应所述目标环境标识的转发规则,将所述转发规则写入所述请求方的所述转发规则集合;根据所述目标环境标识与所述目标端口地址之间的对应关系,生成所述环境端口映射信息。5.根据权利要求4所述的消息请求处理方法,其特征在于,所述方法还包括:响应于代理关闭请求,根据所述代理关闭请求中的目标环境标识,确定所述环境端口映射信息中相匹配的目标映射信息;所述目标映射信息指示所述目标环境标识与目标端口地址的对应关系;根据所述代理关闭请求中的服务地址和所述目标端口地址,将对应的转发规则从所述请求方的所述转发规则集合中删除;调整所述目标端口地址对应的目标端口为处于空闲状态,删除所述目标映射信息。6.根据权利要求4所述的消息请求处理方法,其特征在于,所述响应于代理激活请求,从处于空闲状态的端口中选取目标端口包括:响应于代理激活请求,向处于空闲状态的端口依次发送检测请求;当接收到任一所述空闲状态的端口返回的响应信息时,将所述任一空闲状态的端口确定为目标端口。7.一种消息请求处理装置,其特征在于,所述装置包括:第一消息请求获取模块,用于基于目标端口获取第一消息请求;所述第一消息请求的请求类型为非元数据请求;第一环境标识添加模块,用于对所述第一消息请求中关联目标主题标识的第一字段内容添加目标环境标识,得到目标第一消息请求;所述目标环境标识为基于环境端口映射信息确定的所述目标端口对应的环境标识,所述环境端口映射信息表征环境标识与端口地址之间的对应关系;第一映射信息确定模块,用于基于所述目标主题标识和所述目标环境标识,确定服务地址映射信息中相匹配的目标服务地址...

【专利技术属性】
技术研发人员:李泽华王洛槐陈永洋黄俊张晓生
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1