一种配置同步方法及相关装置制造方法及图纸

技术编号:26482135 阅读:22 留言:0更新日期:2020-11-25 19:28
本申请涉及分布式部署领域,提供一种配置同步方法及相关装置,所述方法应用于中间件,包括:接收客户端发送的注册请求,所述注册请求携带所述客户端的注册信息;根据所述注册信息,创建所述客户端的注册队列,以及创建所述客户端的阻塞队列;向服务端发送携带所述注册队列的配置请求,所述配置请求用于指示所述服务端根据所述注册队列确定所述客户端的配置信息;接收所述服务端发送的所述配置信息;根据所述配置信息,更新所述阻塞队列;通过所述阻塞队列,将所述配置信息同步到所述客户端。本申请实施例的技术方案,能够降低运维成本,节约服务器资源。

【技术实现步骤摘要】
一种配置同步方法及相关装置
本申请涉及分布式部署领域,尤其涉及一种配置同步方法及相关装置。
技术介绍
分布式应用指的是应用程序分布在不同计算机上,通过网络来共同完成任务的工作方式。ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务,用于为分布式应用提供一致性服务,提供的功能包括对客户端进行配置同步。但是,使用ZooKeeper对客户端进行配置同步时,至少需要三个服务器节点实现,也就是说,通过ZooKeeper实现客户端的配置同步,一方面,运维成本较高,另一方面,在较小的应用中使用时,由于至少需要三个服务器节点,会造成服务器资源的浪费。
技术实现思路
本申请提供了一种配置同步方法及相关装置,能够降低运维成本,节约服务器资源。本申请第一方面提供了一种配置同步方法,所述方法应用于中间件,所述方法包括:接收客户端发送的注册请求,所述注册请求携带所述客户端的注册信息;根据所述注册信息,创建所述客户端的注册队列,以及创建所述客户端的阻塞队列;向服务端发送携带所述注册队列的配置请求,所述配置请求用于指示所述服务端根据所述注册队列确定所述客户端的配置信息;接收所述服务端发送的所述配置信息;根据所述配置信息,更新所述阻塞队列;通过所述阻塞队列,将所述配置信息同步到所述客户端。本申请第二方面提供了一种配置同步装置,所述装置应用于中间件,所述装置包括:第一接收模块,用于接收客户端发送的注册请求,所述注册请求携带所述客户端的注册信息;创建模块,用于根据所述注册信息,创建所述客户端的注册队列,以及创建所述客户端的阻塞队列;发送模块,用于向服务端发送携带所述注册队列的配置请求,所述配置请求用于指示所述服务端根据所述注册队列确定所述客户端的配置信息;第二接收模块,用于接收所述服务端发送的所述配置信息;更新模块,用于根据所述配置信息,更新所述阻塞队列;同步模块,用于通过所述阻塞队列,将所述配置信息同步到所述客户端。本申请第三方面提供了一种电子设备,所述电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请第一方面任一方法中的步骤的指令。本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现本申请第一方面任一方法中所描述的部分或全部步骤。可以看到,通过本申请提出的配置同步方法及相关装置,首先,中间件接收客户端发送的注册请求,注册请求携带客户端的注册信息,其次,根据注册信息,创建客户端的注册队列,以及创建客户端的阻塞队列,其次,向服务端发送携带注册队列的配置请求,配置请求用于指示服务端根据注册队列确定客户端的配置信息,其次,接收服务端发送的配置信息,其次,根据配置信息,更新阻塞队列,最后,通过阻塞队列,将配置信息同步到客户端。这样,通过中间件代替目前使用的ZooKeeper实现客户端的配置同步,不需要使用至少三个服务器节点,通过该中间件就可以实现配置同步,一方面,降低了运维成本,另一方面,不管是对于大型应用还是小型应用都可以通过该中间件实现配置同步,从而节约了服务器资源。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种配置同步系统的示意图;图2为本申请实施例提供的一种配置同步方法的流程示意图;图3为本申请实施例提供的另一种配置同步方法的流程示意图;图4为本申请实施例提供的一种配置同步装置的示意图;图5为本申请实施例涉及的硬件运行环境的电子设备结构示意图。具体实施方式本申请实施例提供的配置同步方法及相关装置,能够降低运维成本,节约服务器资源。为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。下面对本申请实施例进行详细介绍。首先参见图1,图1为本申请实施例提供的一种配置同步系统的示意图。如图1所示,配置同步系统100包括中间件101、客户端102和服务端103,中间件101与至少一个客户端102连接,中间件还与至少一个服务端103连接。中间件101接收客户端102发送的注册请求,所述注册请求携带所述客户端102的注册信息;中间件101根据所述注册信息,创建所述客户端102的注册队列,以及创建所述客户端102的阻塞队列;中间件101向服务端103发送携带所述注册队列的配置请求,所述配置请求用于指示所述服务端103根据所述注册队列确定所述客户端102的配置信息;中间件101接收所述服务端103发送的所述配置信息;中间件101根据所述配置信息,更新所述阻塞队列;中间件101通过所述阻塞队列,将所述配置信息同步到所述客户端102。具体的,在分布式应用中,使用中间件提供配置同步服务。客户端需要同步配置时,首先注册到中间件中,中间件接收客户端的注册请求,对于每一个注册到中间件的客户端,中间件都会为该客户端创建存放内容的队列,包括注册队列和阻塞队列。服务端接收中间件的配置请求,确定客户端的配置信息,并且将该配置信息推送到中间件中。中间件根据该配置信息,更新阻塞队列。客户端监听该阻塞队列,从而获取该配置信息。可选的,客户端还可以将获取到的配置信息存储在中间件的历史配置队列中,从而可以实现版本维护。除此之外,客户端还可以将当前所使用的所有配置文件都存储在中间件的导出队列中,从而可以实现配置文件的集中维护。可以看出,通过中间件代替目前使用的ZooKeeper实现客户端的配置同步,不需要使用至少三个服务器节点,通过该中间件就可以实现配置同步,一方面,降低了运维成本,另一方面,不管是对于大型应用还是小型应用都可以通过该中间件实现配置同步,从而节约了服务器资源。参见图2,图2为本申请实施例提供的一种配置同步方法的流程示意图,该配置同步方法可以应用于图1所示的中间件。其本文档来自技高网
...

【技术保护点】
1.一种配置同步方法,其特征在于,所述方法应用于中间件,所述方法包括:/n接收客户端发送的注册请求,所述注册请求携带所述客户端的注册信息;/n根据所述注册信息,创建所述客户端的注册队列,以及创建所述客户端的阻塞队列;/n向服务端发送携带所述注册队列的配置请求,所述配置请求用于指示所述服务端根据所述注册队列确定所述客户端的配置信息;/n接收所述服务端发送的所述配置信息;/n根据所述配置信息,更新所述阻塞队列;/n通过所述阻塞队列,将所述配置信息同步到所述客户端。/n

【技术特征摘要】
1.一种配置同步方法,其特征在于,所述方法应用于中间件,所述方法包括:
接收客户端发送的注册请求,所述注册请求携带所述客户端的注册信息;
根据所述注册信息,创建所述客户端的注册队列,以及创建所述客户端的阻塞队列;
向服务端发送携带所述注册队列的配置请求,所述配置请求用于指示所述服务端根据所述注册队列确定所述客户端的配置信息;
接收所述服务端发送的所述配置信息;
根据所述配置信息,更新所述阻塞队列;
通过所述阻塞队列,将所述配置信息同步到所述客户端。


2.根据权利要求1所述的方法,其特征在于,所述注册信息包括所述客户端的服务名称、所述客户端的IP地址和所述客户端的端口号中的至少一项,所述根据所述注册信息,创建所述客户端的注册队列,以及创建所述客户端的阻塞队列,包括:
根据所述注册信息,确定所述注册队列的第一队列标识,以及确定所述阻塞队列的第二队列标识;
根据所述第一队列标识,创建所述注册队列;
根据所述第二队列标识,创建所述阻塞队列。


3.根据权利要求1或2所述的方法,其特征在于,在所述根据所述注册信息,创建所述客户端的注册队列之后,所述方法还包括:
设置所述注册队列的有效时间;
记录所述注册队列的创建时间;
获取当前时间;
若所述当前时间与所述创建时间的时间差不小于所述有效时间,则删除所述注册队列。


4.根据权利要求1所述的方法,其特征在于,所述阻塞队列包括版本信息和原始配置信息,所述根据所述配置信息,更新所述阻塞队列,包括:
获取所述配置信息对应的版本信息;
根据所述配置信息对应的版本信息,更新所述阻塞队列中的版本信息;
将所述阻塞队列中的原始配置信息更新为所述配置信息。


5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
创建所述客户端的历史配置队列,所述历史配置队列包括所述客户端通过所述阻塞队列获取到的至少一条配置信息以及至少一条版本信息,所述至少一条配置信息与所述至少一条版本信息一一对应;
当通过所述阻塞队列将所述配置信息...

【专利技术属性】
技术研发人员:曹春辉
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东;44

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

1