The invention discloses a high availability message queuing system and method based on Qconf, the system includes application program, Qconf client, Qconf server, Qconf management terminal, Qconf monitoring nodes and message queue: Qconf server and Qconf client server interaction, access to the message queue ZK service node of the latest information; Qconf refers to the zookeeper server cluster storage, message queue ZK service node information management terminal; Qconf by calling the Qconf interface on the server, the message queue ZK service node to add, delete, update and access operation; Qconf monitoring node monitors the message queue ZK service node survival; the invention has high usability, when a Message Queuing cluster member fault. Will not affect the application to access the Message Queuing cluster, greatly enhance the Message Queuing service availability; easy to use, maintenance With low cost and strong stability, the message queue service is adjusted by Qconf, application program and message queue decoupling. The application does not need to modify the configuration, which greatly reduces the service coupling degree.
【技术实现步骤摘要】
基于Qconf的消息队列高可用系统及方法
本专利技术属于计算机
,主要应用于消息队列服务高可用场景,用于提升消息队列服务可用性和灵活性。
技术介绍
对于互联网公司而言,随着业务需求越来越复杂,为了降低服务之间的耦合度,提升服务模块化,消息队列使用越来越广泛,消息队列服务的可用性也显得越来越重要。传统消息队列使用方法具有如下缺点:(1)可用性低:一旦某个消息队列服务故障,应用程序就无法访问消息队列服务。(2)维护成本高:采用了比较复杂的架构提高消息队列可用性,运维成本高。(3)引入新的隐患:由于采用的高可用架构本身存在隐患,导致整个高可用架构可用性不高。(4)易用性差:虽然实现了高可用,但是不方便使用,导致可操作性低下。
技术实现思路
本专利技术针对现有技术的不足,提供一种基于Qconf的消息队列高可用系统及方法,基于Qconf可以注册消息队列zk服务节点,不但可以实现消息队列服务高可用,同时可以实现负载均衡,该系统可以支持大规模消息队列高可用和负载均衡。本专利技术的目的是通过以下技术方案来实现的:一种基于Qconf的消息队列高可用系统,该系统包括应用程序端、Qconf客户端、Qconf服务端、Qconf管理端、Qconf监控节点和消息队列服务端:应用程序端:运行应用程序的服务器,应用程序调用对应的Qconf扩展接口,解析传入的参数:zk服务节点,得到消息队列的IP和端口,然后应用程序和所述消息队列建立连接,进而和所述消息队列交互读写请求;Qconf客户端:包括Qconfagent服务、应用程序对应的Qconf扩展;Qconf客户端和应用程序同机部署,用于 ...
【技术保护点】
一种基于Qconf的消息队列高可用系统,其特征在于,该系统包括应用程序端、Qconf客户端、Qconf服务端、Qconf管理端、Qconf监控节点和消息队列服务端:应用程序端:运行应用程序的服务器,应用程序调用对应的Qconf扩展接口,解析传入的参数:zk服务节点,得到消息队列的IP和端口,然后应用程序和所述消息队列建立连接,进而和所述消息队列交互读写请求;Qconf客户端:包括Qconf agent服务、应用程序对应的Qconf扩展;Qconf客户端和应用程序同机部署,用于和Qconf服务端交互,获取最新的消息队列zk服务节点信息;Qconf服务端:部署zookeeper集群,存储消息队列zk服务节点信息;Qconf管理端:通过调用Qconf服务端接口,对消息队列zk服务节点进行添加、删除、更新和获取操作,Qconf管理端部署Qconf管理扩展,用于管理人员管理zk服务节点;Qconf监控节点:部署Qconf监控服务,监控消息队列zk服务节点存活,能够实现所述消息队列zk服务节点上下线;在一台服务器上部署Qconf监控节点,可以监控Qconf服务端所有的消息队列zk服务节点;消息队列 ...
【技术特征摘要】
1.一种基于Qconf的消息队列高可用系统,其特征在于,该系统包括应用程序端、Qconf客户端、Qconf服务端、Qconf管理端、Qconf监控节点和消息队列服务端:应用程序端:运行应用程序的服务器,应用程序调用对应的Qconf扩展接口,解析传入的参数:zk服务节点,得到消息队列的IP和端口,然后应用程序和所述消息队列建立连接,进而和所述消息队列交互读写请求;Qconf客户端:包括Qconfagent服务、应用程序对应的Qconf扩展;Qconf客户端和应用程序同机部署,用于和Qconf服务端交互,获取最新的消息队列zk服务节点信息;Qconf服务端:部署zookeeper集群,存储消息队列zk服务节点信息;Qconf管理端:通过调用Qconf服务端接口,对消息队列zk服务节点进行添加、删除、更新和获取操作,Qconf管理端部署Qconf管理扩展,用于管理人员管理zk服务节点;Qconf监控节点:部署Qconf监控服务,监控消息队列zk服务节点存活,能够实现所述消息队列zk服务节点上下线;在一台服务器上部署Qconf监控节点,可以监控Qconf服务端所有的消息队列zk服务节点;消息队列服务端:是部署消息队列的服务器,采用集群形式部署消息队列,不同的消息队列集群,采用端口号唯一标识;所有消息队列集群的IP和端口信息,保存在消息队列元信息中。2.根据权利要求1所述的一种基于Qconf的消息队列高可用系统,其特征在于,所述消息队列服务端包括消息队列服务管理模块:采用一个磁盘节点和两个内存节点形式部署消息队列;一个消息队列集群中所有成员的端口保持一致,不同的消息队列集群,端口不同,采用端口唯一标识所述消息队列集群。3.根据权利要求1所述的一种基于Qconf的消息队列高可用系统,其特征在于,所述Qconf管理端包括管理zk服务节点模块,需要传入的参数:zk服务节点、消息队列的IP以及端口和zookeeper连接字符串;zookeeper连接字符串表示zookeeper集群所有成员的IP和端口组成的字符串;通过扫描消息队列元信息,获取消息队列IP和端口,所述端口是指zk服务节点对应的消息队列集群的端口,每个zk服务节点表示一个消息队列集群;所述zk服务节点的值是该端口对应的消息队列集群所有成员的IP和端口;对zk服务节点的操作包括:添加zk服务节点:调用Qconf管理端接口,进行添加zk服务节点、为zk服务节点新增值、为zk服务节点删除值、zk服务节点上下线、获取zk服务节点的所有成员。4.根据权利要求1所述的一种基于Qconf的消息队列高可用系统,其特征在于,所述Qconf客户端包括Qconf客户端管理模块,需要传入的参数:zookeeper连接字符串;按照Qconf部署要求,部署Qconf客户端服务,Qconf客户端配置文件需要设置zookeeper连接字符串,然后启动Qconf客户端服务;查看Qconf客户端进程是否启动...
【专利技术属性】
技术研发人员:顾伟涛,
申请(专利权)人:杭州铭师堂教育科技发展有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。