分布式消息服务系统、方法、设备及计算机可读存储介质技术方案

技术编号:21899194 阅读:38 留言:0更新日期:2019-08-17 18:32
本发明专利技术实施例提供了一种分布式消息服务系统、方法、设备及计算机可读存储介质,该系统包括:消息引擎集群单元包括不同类型的开源消息引擎的服务器;接口装置对消息引擎集群单元中所有开源消息引擎的原生接口进行统一封装,生成统一的访问入口,接收访问的业务应用系统的请求;路由装置,从接口装置接收请求,从请求中获取业务应用系统的验证数据和消息服务的场景信息,根据获取的验证数据和数据存储装置已存的业务应用系统的验证信息对访问的业务应用系统验证成功时,根据获取的消息服务的场景信息和数据存储装置已存的消息引擎的配置信息确定满足请求的消息引擎,通过确定出的消息引擎的服务器与访问的业务应用系统建立连接,并提供消息服务。

Distributed Message Service System, Method, Equipment and Computer Readable Storage Media

【技术实现步骤摘要】
分布式消息服务系统、方法、设备及计算机可读存储介质
本专利技术涉及分布式
,特别涉及一种分布式消息服务系统、方法、设备及计算机可读存储介质。
技术介绍
随着业务服务产品的不断变化和用户使用情况的变化,目前普遍使用分布式架构来支持应用系统能力高频高并发,而在这种架构下进一步需要应用系统之间和应用系统内部的交互处理方式逐步从同步模式走向异步模式,因此消息中间件(MOM)就成为了一种普遍的选择。在消息中间件中,通常有一个名为Broker的节点(消息服务器),消息的发送者将消息发送至Broker上,Broker将消息存放在若干队列中,在合适的时间再将消息转发给接收者。这种模式不同于传统意义上的同步模式,在同步模式中,应用需要互相知道对方的接口形式和地址,在多次对话后才能进行正式的数据交互。而通过消息中间件,各个模块只需要调用相同的接口,即可进行数据传输。模块之间则通过传递消息来激活对方的事件,完成相应的操作。消息中间件能在不同平台之间通信,它常被用来屏蔽掉各种平台及协议之间的特性,实现应用程序之间的协同,其优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。目前,消息中间件领域已经有较为成熟的几款开源产品,如Apache下的ActiveMQ、Kafka、RocketMQ,以及hornetQ,RabbitMQ,ZeroMQ等等也被普遍使用,此外也有商业化的IBMMQ,ironMQ等产品可供用户选择。这些不同的产品之间,所使用的协议和规范不同,如ActiveMQ,HornetMQ使用JMS规范,RabbitMQ使用AMQP,Kafka、RocketMQ使用自己设计的规范等。由于各个产品的功能不同,适用场景不同,产品所提供的API接口和接口的使用方法也不尽相同。对于用户而言,很多情况下根据不同业务场景需要引入多种开源产品,这就要求用户了解所有的产品而后根据这些产品进行参数调优和接口学习,才能进行最终的开发。对于不同场景的应用,甚至在同一个应用中不同场景的程序模块之间,所用到的消息中间件产品也可能不尽相同,这就对开发人员所需要花费的学习成本有了进一步的要求,用户在软件的使用上需要付出较高的学习成本。
技术实现思路
本专利技术实施例提供了一种分布式消息服务系统,以解决现有技术中直接使用各类消息中间件时需要用户学习各类消息中间件而导致的学习成本高、开发成本高的技术问题。该系统包括:接口装置、路由装置、数据存储装置以及消息引擎装置,其中,所述消息引擎装置包括:消息引擎集群单元,所述消息引擎集群单元包括不同类型的开源消息引擎的服务器;所述数据存储装置,用于存储业务应用系统的验证信息以及消息引擎的配置信息;所述接口装置,用于对所述消息引擎集群单元中所有开源消息引擎的原生接口进行统一封装,生成统一的访问入口,所述访问入口供各业务应用系统访问,接收访问的业务应用系统的请求;所述路由装置,与所述接口装置、所述数据存储装置和所述消息引擎装置连接,用于从所述接口装置接收所述请求,从所述请求中获取业务应用系统的验证数据和消息服务的场景信息,根据获取的验证数据和所述数据存储装置已存的业务应用系统的验证信息对访问的业务应用系统进行验证,根据获取的消息服务的场景信息和所述数据存储装置已存的消息引擎的配置信息确定满足所述请求的消息引擎,在验证成功时,将所述请求转发给所述消息引擎集群单元中确定出的消息引擎的服务器;所述消息引擎集群单元,用于通过确定出的消息引擎的服务器与访问的业务应用系统建立连接,并根据所述请求提供消息服务。本专利技术实施例还提供了一种分布式消息服务方法,以解决现有技术中直接使用各类消息中间件时需要用户学习各类消息中间件而导致的学习成本高、开发成本高的技术问题。该方法包括:对不同类型的开源消息引擎的原生接口进行统一封装,生成统一的访问入口,所述访问入口供各业务应用系统访问,接收访问的业务应用系统的请求;从所述请求中获取业务应用系统的验证数据和消息服务的场景信息,根据获取的验证数据和已存的业务应用系统的验证信息对访问的业务应用系统进行验证,根据获取的消息服务的场景信息和已存的消息引擎的配置信息确定满足所述请求的消息引擎,在验证成功时,将所述请求转发给确定出的消息引擎的服务器;通过确定出的消息引擎的服务器与访问的业务应用系统建立连接,通过确定出的消息引擎的服务器根据所述请求提供消息服务。本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的分布式消息服务方法,以解决现有技术中直接使用各类消息中间件时需要用户学习各类消息中间件而导致的学习成本高、开发成本高的技术问题。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的分布式消息服务方法的计算机程序,以解决现有技术中直接使用各类消息中间件时需要用户学习各类消息中间件而导致的学习成本高、开发成本高的技术问题。在本专利技术实施例中,通过对消息引擎集群单元中所有不同类型的开源消息引擎的原生接口进行统一封装,生成统一的访问入口,各业务应用系统通过该访问入口访问分布式消息服务系统中的接口装置,进而路由装置将各业务应用系统的请求转发给消息引擎集群单元中根据请求确定出的消息引擎的服务器,最后,确定出的消息引擎的服务器与访问的业务应用系统建立连接,并根据请求为业务应用系统提供消息服务,即实现了在使用不同类型的开源消息引擎提供消息服务时,只需访问该统一的访问入口即可,无需用户针对每类开源消息引擎的软件进行学习,从而有利于降低用户的学习成本和开发成本,进而有利于分布式消息服务的推广。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,并不构成对本专利技术的限定。在附图中:图1是本专利技术实施例提供的一种分布式消息服务系统的结构框图;图2是本专利技术实施例提供的一种消息引擎装置的结构框图;图3是本专利技术实施例提供的一种管理装置的结构框图;图4是本专利技术实施例提供的一种上述分布式消息服务系统的工作流程图;图5是本专利技术实施例提供的一种上述分布式消息服务系统进行消息引擎安装部署或扩容的流程图;图6是本专利技术实施例提供的一种上述分布式消息服务系统进行监控和自动化运维的流程图;图7是本专利技术实施例提供的一种分布式消息服务方法的流程图;图8是本专利技术实施例提供的一种计算机设备的结构框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本专利技术做进一步详细说明。在此,本专利技术的示意性实施方式及其说明用于解释本专利技术,但并不作为对本专利技术的限定。在本专利技术实施例中,提供了一种分布式消息服务系统,如图1所示,该系统包括:接口装置1、路由装置2、数据存储装置3以及消息引擎装置5,其中,如图2所示,所述消息引擎装置5包括:消息引擎集群单元51,所述消息引擎集群单元包括不同类型的开源消息引擎的服务器;所述数据存储装置3,用于存储业务应用系统的验证信息以及消息引擎的配置信息;所述接口装置1,用于对所述消息引擎集群单元51中所有开源消息引擎的原生接口进行统一封装,生成统一的访问入口,所述访问入口供各业务应本文档来自技高网
...

【技术保护点】
1.一种分布式消息服务系统,其特征在于,包括:接口装置、路由装置、数据存储装置以及消息引擎装置,其中,所述消息引擎装置包括:消息引擎集群单元,所述消息引擎集群单元包括不同类型的开源消息引擎的服务器;所述数据存储装置,用于存储业务应用系统的验证信息以及消息引擎的配置信息;所述接口装置,用于对所述消息引擎集群单元中所有开源消息引擎的原生接口进行统一封装,生成统一的访问入口,所述访问入口供各业务应用系统访问,接收访问的业务应用系统的请求;所述路由装置,与所述接口装置、所述数据存储装置和所述消息引擎装置连接,用于从所述接口装置接收所述请求,从所述请求中获取业务应用系统的验证数据和消息服务的场景信息,根据获取的验证数据和所述数据存储装置已存的业务应用系统的验证信息对访问的业务应用系统进行验证,根据获取的消息服务的场景信息和所述数据存储装置已存的消息引擎的配置信息确定满足所述请求的消息引擎,在验证成功时,将所述请求转发给所述消息引擎集群单元中确定出的消息引擎的服务器;所述消息引擎集群单元,用于通过确定出的消息引擎的服务器与访问的业务应用系统建立连接,并根据所述请求提供消息服务。

【技术特征摘要】
1.一种分布式消息服务系统,其特征在于,包括:接口装置、路由装置、数据存储装置以及消息引擎装置,其中,所述消息引擎装置包括:消息引擎集群单元,所述消息引擎集群单元包括不同类型的开源消息引擎的服务器;所述数据存储装置,用于存储业务应用系统的验证信息以及消息引擎的配置信息;所述接口装置,用于对所述消息引擎集群单元中所有开源消息引擎的原生接口进行统一封装,生成统一的访问入口,所述访问入口供各业务应用系统访问,接收访问的业务应用系统的请求;所述路由装置,与所述接口装置、所述数据存储装置和所述消息引擎装置连接,用于从所述接口装置接收所述请求,从所述请求中获取业务应用系统的验证数据和消息服务的场景信息,根据获取的验证数据和所述数据存储装置已存的业务应用系统的验证信息对访问的业务应用系统进行验证,根据获取的消息服务的场景信息和所述数据存储装置已存的消息引擎的配置信息确定满足所述请求的消息引擎,在验证成功时,将所述请求转发给所述消息引擎集群单元中确定出的消息引擎的服务器;所述消息引擎集群单元,用于通过确定出的消息引擎的服务器与访问的业务应用系统建立连接,并根据所述请求提供消息服务。2.如权利要求1所述的分布式消息服务系统,其特征在于,所述消息引擎装置,还包括:监控采集单元,与所述消息引擎集群单元和所述数据存储装置连接,用于采集所述消息引擎集群单元中各开源消息引擎的服务器的运行数据,并将所述运行数据发送给所述数据存储装置进行存储。3.如权利要求2所述的分布式消息服务系统,其特征在于,还包括:管理装置,其中,所述管理装置,包括:监控数据处理单元,与所述监控采集单元和所述数据存储装置连接,用于将所述运行数据转发给所述数据存储装置进行存储;自动安装单元,与所述监控数据处理单元、所述接口装置和所述数据存储装置连接,用于从所述监控数据处理单元的所述运行数据中获取或通过所述接口装置接收消息引擎安装需求,根据所述消息引擎安装需求从所述数据存储装置中获取未安装的消息引擎的环境信息,并将获取的未安装的消息引擎的环境信息安装在当前有空闲环境的消息引擎的服务器上。4.如权利要求3所述的分布式消息服务系统,其特征在于,所述管理装置,还包括:配置中心单元和故障应急处理单元,其中,所述监控数据处理单元,还用于从所述数据存储装置中获取运行数据的数据阈值...

【专利技术属性】
技术研发人员:黄涌铭黄铮赖林光刘爽
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京,11

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

1