CN105677404B - 一种基于Zookeeper的配置更新方法及装置 - Google Patents

一种基于Zookeeper的配置更新方法及装置 Download PDF

Info

Publication number
CN105677404B
CN105677404B CN201511032008.7A CN201511032008A CN105677404B CN 105677404 B CN105677404 B CN 105677404B CN 201511032008 A CN201511032008 A CN 201511032008A CN 105677404 B CN105677404 B CN 105677404B
Authority
CN
China
Prior art keywords
configuration
application
information
configuration information
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511032008.7A
Other languages
English (en)
Other versions
CN105677404A (zh
Inventor
郭浩川
王翔宇
张天文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lazas Network Technology Shanghai Co Ltd
Original Assignee
Lazas Network Technology Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lazas Network Technology Shanghai Co Ltd filed Critical Lazas Network Technology Shanghai Co Ltd
Priority to CN201511032008.7A priority Critical patent/CN105677404B/zh
Publication of CN105677404A publication Critical patent/CN105677404A/zh
Application granted granted Critical
Publication of CN105677404B publication Critical patent/CN105677404B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机技术领域,尤其涉及一种基于Zookeeper的配置更新方法及装置,用以解决现有技术中无法实现在应用程序不重启的前提下对应用程序实例进行配置更新的技术问题,包括:应用服务器接收Zookeeper服务器推送的配置更新信息,其中配置更新信息是由所述Zookeeper服务器根据接收到的配置更新指令得到的,然后根据配置更新信息,确定需要更新的应用程序实例,以及根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新,因而该方法可实现在应用程序实例运行过程中,无需重启应用程序,可直接根据接收到的配置信息对应用程序实例进行更新,提高了系统的效率。

Description

一种基于Zookeeper的配置更新方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于Zookeeper的配置更新方法及装置。
背景技术
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。一个ZooKeeper服务器可以连接多台应用服务器。一个应用程序包含多个应用程序实例,并且每个应用程序示例在其中一台应用服务器中运行。
现有技术中,一个应用程序的各个实例的配置项主要是通过人工或者半自动的方式,在应用程序实例初始化时以硬编码的方式注入到程序中的。该方式的主要缺陷在于:若要修改一个应用程序的多个应用程序实例的配置项,则需要重新启动每个应用程序实例,然后通过ZooKeeper服务器将新的配置发送给每个应用程序实例进行重新硬编码,才可以实现配置项的修改,因而该方法无法实现在应用程序不重启的前提下对应用程序实例进行配置更新。
综上所述,现有技术中无法实现在应用程序不重启的前提下对应用程序实例进行配置更新。
发明内容
本发明提供一种基于Zookeeper的配置更新方法及装置,用以解决现有技术中无法实现在应用程序不重启的前提下对应用程序实例进行配置更新的技术问题。
一方面,本发明实施例提供一种基于Zookeeper的配置更新方法,包括:
应用服务器接收Zookeeper服务器推送的配置更新信息,其中,所述配置更新信息是由所述Zookeeper服务器根据接收到的配置更新指令得到的;
所述应用服务器根据所述配置更新信息,确定需要更新的应用程序实例;
所述应用服务器根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新。
可选地,所述应用服务器根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新,包括:
所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新。
可选地,所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新之后,还包括:
所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
可选地,所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新之后,还包括:
所述应用服务器接收目标应用程序实例对应的配置调用命令;
所述应用服务器根据所述配置调用命令,判断所述内存缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述内存缓存中存在所述目标应用程序实例对应的配置信息,则所述应用服务器从所述内存缓存中获取所述配置信息;
若确定所述内存缓存中不存在所述目标应用程序实例对应的配置信息,则所述应用服务器判断所述文件缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述文件缓存中存在所述目标应用程序实例对应的配置信息,则所述应用服务器从所述文件缓存中获取所述配置信息;
若确定所述文件缓存中不存在所述目标应用程序实例对应的配置信息,则所述应用服务器确定获取配置信息失败。
可选地,所述配置更新信息是由所述Zookeeper服务器根据接收到的人机交互界面发送的配置更新指令生成的。
可选地,所述配置更新信息包括下列部分或者全部:
应用配置信息、开关配置信息、调度配置信息。
另一方面,本发明还提供一种基于Zookeeper的配置更新装置,包括:
接收单元,用于接收Zookeeper服务器推送的配置更新信息,其中,所述配置更新信息是由所述Zookeeper服务器根据接收到的配置更新指令得到的;
确定单元,用于根据所述配置更新信息,确定需要更新的应用程序实例;
更新单元,用于根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新。
可选地,所述更新单元,具体用于:根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新。
可选地,所述更新单元,还用于:根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
可选地,所述更新单元,还用于:接收目标应用程序实例对应的配置调用命令;
根据所述配置调用命令,判断所述内存缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述内存缓存中存在所述目标应用程序实例对应的配置信息,则从所述内存缓存中获取所述配置信息;
若确定所述内存缓存中不存在所述目标应用程序实例对应的配置信息,则判断所述文件缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述文件缓存中存在所述目标应用程序实例对应的配置信息,则从所述文件缓存中获取所述配置信息;
若确定所述文件缓存中不存在所述目标应用程序实例对应的配置信息,则确定获取配置信息失败。
可选地,所述配置更新信息是由所述Zookeeper服务器根据接收到的人机交互界面发送的配置更新指令生成的。
可选地,所述配置更新信息包括下列部分或者全部:应用配置信息、开关配置信息、调度配置信息。
本发明实施例提供的方法,应用服务器接收Zookeeper服务器推送的配置更新信息,其中配置更新信息是由所述Zookeeper服务器根据接收到的配置更新指令得到的,然后根据配置更新信息,确定需要更新的应用程序实例,以及根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新,因而该方法可实现在应用程序实例运行过程中,无需重启应用程序,可直接根据接收到的配置信息对应用程序实例进行更新,提高了系统的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所适用的框架结构图;
图2为本发明实施例提供的基于Zookeeper的配置更新方法流程图;
图3为本发明实施例提供的基于Zookeeper的配置更新方法详细流程图;
图4为本发明实施例提供的基于Zookeeper的配置更新方法完整流程示意图;
图5为本发明实施例提供的基于Zookeeper的配置更新装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例所适用的系统框架结构图,包括一台Zookeeper服务器,多台应用服务器,和一台系统服务器,其中系统服务器和Zookeeper服务器之间可以通过有线或者无线的方式进行通信,Zookeeper服务器和多台应用服务器之间通过有线或无线的方式进行通信。
下面结合说明书附图对本发明实施例作进一步详细描述。如图2所示,本发明实施例提供的基于Zookeeper的配置更新方法,包括:
步骤201、应用服务器接收Zookeeper服务器推送的配置更新信息;
步骤202、应用服务器根据所述配置更新信息,确定需要更新的应用程序实例;
步骤203、应用服务器根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新。
如图2所示,一个应用程序有多个应用程序实例,每个应用程序实例运行于一台应用服务器。当Zookeeper服务器接收到配置信息指令后,根据配置更新指令中携带的需要更新的配置的相关参数信息,生成配置更新信息。可选地,配置更新信息是由Zookeeper服务器根据接收到的系统服务器发送的配置更新指令后生成的,更进一步地,配置更新信息是由Zookeeper服务器根据接收到的人机交互界面发送的配置更新指令生成的。即,系统服务器对应有一个人机交互界面,配置维护人员可通过人机交互界面将某个应用程序对应的配置信息做好相应的修改,然后由系统服务器生成根据修改后的配置信息生成配置更新指令,并将配置更新指令发送到Zookeeper服务器,其中配置更新指令中包含了应用程序对应的配置修改之后的配置值。
Zookeeper服务器在接收到系统服务器发送的配置更新指令之后,根据配置更新指令生成配置更新信息,可选地,所述配置更新信息包括下列部分或者全部:应用配置信息、开关配置信息、调度配置信息。其中应用配置信息是指应用程序的应用相关信息,例如包含支付宝密钥,数据库地址信息等,例如在人机界面中,修改后的支付宝密钥为11111111,修改后的数据库地址为222222,则配置更新信息中包含修改后的支付宝密钥11111111,以及修改后的数据库地址222222。开关配置信息是指基于百分比的开关配置,可用于手动或自动接口降级或限流,例如在系统过负载的时候,手动配置特定接口只处理80%(即开关配置值为80%)的流量,其余流量丢弃。因此开关配置信息中主要包含修改后的开关配置值。其中,开关配置只要包含两类,第一类是用于灰度上线的开关配置,主要用于通过配置,只将部分流量导入新的业务逻辑,做线上流量验证,可以动态调整验证的流量比例,如果有任何问题的话,可以实时关闭验证;第二类是用于a/b测试的开关配置,其中a/b测试主要适用于验证产品设计,通过组件往新的产品逻辑导入部分流量,通过指标监控判断产品变更的效果。调度配置信息主要包含远端调用的连接列表,即应用服务器中可调用的应用程序实例的地址列表。
Zookeeper服务器在接收到系统服务器发送的针对一个应用程序的配置更新指令之后,生成配置更新信息,并将该配置更新信息推送到包含有该应用程序的实例的所有应用服务器。例如Zookeeper服务器接收到关于应用程序A的配置更新指令,则Zookeeper服务器生成关于应用程序A的配置更新信息,假设一共有n台应用服务器,其中应用服务器1包含有应用程序A的5个应用程序实例,应用服务器2包含有应用程序A的1个应用程序实例,其他应用服务器不包含应用程序A的应用程序实例,则Zookeeper服务器将生成的配置更新信息推送到应用服务器1和应用服务器2,然后应用服务器1根据接收到的配置更新信息对应用服务器1中的应用程序A的应用程序实例进行配置更新,以及应用服务器2根据接收到的配置更新信息对应用服务器2中的应用程序A的应用程序实例进行配置更新。
具体地,应用服务器1或者应用服务器2的更新方式可通过步骤201~步骤203来完成。下面针对任何一个接收到配置更新信息的应用服务器进行详细说明。
上述步骤201中,应用服务器接收Zookeeper服务器推送的配置更新信息。当一个应用服务器接收到Zookeeper服务器推送的配置更新信息,表明该应用服务器中有需要更新的应用程序实例。假设该应用服务器为应用服务器1,则接收到的是针对应用程序A的所有应用程序实例的配置更新信息。
上述步骤202中,应用服务器根据接收到的配置更新信息,确定需要更新的应用程序实例。例如,应用服务器1接收到的配置更新信息,确定需要对应用服务器1中的应用程序A的应用程序实例进行配置更新,由于应用服务器1中有5个应用程序A的应用程序实例,因此确定需要更新的应用程序实例为应用程序A的这5个应用程序实例。
上述步骤203中,应用服务器根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新。具体的更新方式有很多种,例如可以是直接对应用程序实例中的相关配置进行立即更新,还可以是先对接收到的配置信息做好缓存,再进行更新。
可选地,所述应用服务器根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新,包括:
应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新。
上述方法,当应用服务器接收到配置更新信息后,对需要更新的应用程序实例对应的内存缓存中的配置信息进行更新。其中,每个应用程序实例都有一个自己的内存缓存,用于存储与自身相关的所有配置信息,从而使得每个应用程序的内存缓存中存储的配置信息都得到了更新。该方法将配置信息存储在应用程序实例的内存缓存中,因而当应用程序实例需要使用配置信息时,可以直接从自身的内存缓存中获取相应的配置信息,从而实现了在应用程序实例在工作过程中可以随时调用内存缓存中的配置信息,并且无需对应用程序实例进行重新启动,即可实现配置信息的随时更新以及调用更新后的配置信息。而在现有技术中,配置信息都是存储于Zookeeper服务器中的,当应用程序实例想要做配置更新,就必须从Zookeeper服务器中重新获取最新的配置信息,并且还需要应用程序重新启动,以将接收到的配置更新信息以硬编码的方式注入到应用程序中,方可实现应用程序实例中配置的更新。相较于现有技术而言,本发明实施例提供的方法可在不对应用程序进行重启的情况下,就可以实现对应用程序实例的配置信息做更新。
每个应用程序实例都包含一个内存缓存,内存缓存中存储改应用程序实例的配置信息。为了增加配置信息的安全性,本发明实施例提供了一种双缓存机制。
具体地,所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新之后,还包括:
所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
上述方法,是在每个应用程序实例中都包含有一个内存缓存的前提下,再对每一个应用程序实例增加一个文件缓存,其中文件缓存也用于存储配置信息,并且当应用服务器接收到配置更新之后,对应用程序实例中的内存缓存进行配置更新的同时,也对应用程序实例中的文件缓存做同样的更新。这样可以保证当内存缓存出现数据丢失或者损坏时,可以从应用程序实例的文件缓存中去获取配置信息,从而可以保证配置信息更加安全地存储于本地,无需再去从Zookeeper服务器中获取配置更新信息,提高了安全性以及提高了系统效率。
此外,当每个应用程序实例中都存储有一个内存缓存和文件缓存时,当应用程序实例需要调用配置信息时,可以直接从内存缓存或者文件缓存中去获取需要的配置信息,而无需再从Zookeeper服务器中去获取。
可选地,所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新之后,还包括:
所述应用服务器接收目标应用程序实例对应的配置调用命令;
所述应用服务器根据所述配置调用命令,判断所述内存缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述内存缓存中存在所述目标应用程序实例对应的配置信息,则所述应用服务器从所述内存缓存中获取所述配置信息;
若确定所述内存缓存中不存在所述目标应用程序实例对应的配置信息,则所述应用服务器判断所述文件缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述文件缓存中存在所述目标应用程序实例对应的配置信息,则所述应用服务器从所述文件缓存中获取所述配置信息;
若确定所述文件缓存中不存在所述目标应用程序实例对应的配置信息,则所述应用服务器确定获取配置信息失败。
上述方法,当应用服务器接收到针对一个目标应用程序实例的配置调用命令时,首先从该目标应用程序实例的内存缓存中去获取相应的配置信息,如果内存缓存中有需要的配置信息,则从内存缓存中获取,如果内存缓存中没有需要的配置信息,则判断文件缓存中是否有需要的配置信息,如果有,则从文件缓存中获取,如果文件缓存中也没有需要的配置信息,则确定本次获取配置信息失败。该方法,当一个应用程序实例需要调用配置信息时,首先从读取速度较快的内存缓存中去查看是否有需要的配置信息,如果有,则直接获取,如果没有,则查看文件缓存中是否有需要的配置信息,从而该方法可以使用双层缓存机制,保证了配置信息存储的安全性和可靠性,同时由于首先读取内存缓存,可以保证读取的速度,从而该方法可提供系统效率和性能。
下面对本发明实施例提供的基于Zookeeper的配置更新方法做详细描述,如图3所示,为本发明实施例提供的基于Zookeeper的配置更新方法详细流程图,包括:
步骤301、应用服务器接收Zookeeper服务器推送的配置更新信息;
步骤302、应用服务器根据所述配置更新信息,确定需要更新的应用程序实例;
步骤303、应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新;
步骤304、应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
下面对本发明实施例提供的基于Zookeeper的配置更新方法完整流程进行说明,参考图4,为本发明实施例提供的基于Zookeeper的配置更新方法完整流程示意图。
步骤401、配置维护人员通过系统服务器中的人机交互界面输入配置参数的更新值,由系统服务器根据输入的配置参数值的更新值生成配置更新指令并发送给Zookeeper服务器;
步骤402、Zookeeper服务器根据接收到的配置更新指令生成配置更新信息,并发送给应用服务器;
其中,该应用服务器包含配置更新信息对应的应用程序实例。
步骤403、应用服务器根据所述配置更新信息,确定需要更新的应用程序实例;
步骤404、应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新;
步骤405、应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
基于相同的技术构思,本发明实施例还提供一种基于Zookeeper的配置更新装置,本发明实施例提供的基于Zookeeper的配置更新装置如图5所示。
接收单元501,用于接收Zookeeper服务器推送的配置更新信息,其中,所述配置更新信息是由所述Zookeeper服务器根据接收到的配置更新指令得到的;
确定单元502,用于根据所述配置更新信息,确定需要更新的应用程序实例;
更新单元503,用于根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新。
可选地,所述更新单元503,具体用于:根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新。
可选地,所述更新单元503,还用于:根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
可选地,所述更新单元503,还用于:接收目标应用程序实例对应的配置调用命令;
根据所述配置调用命令,判断所述内存缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述内存缓存中存在所述目标应用程序实例对应的配置信息,则从所述内存缓存中获取所述配置信息;
若确定所述内存缓存中不存在所述目标应用程序实例对应的配置信息,则判断所述文件缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述文件缓存中存在所述目标应用程序实例对应的配置信息,则从所述文件缓存中获取所述配置信息;
若确定所述文件缓存中不存在所述目标应用程序实例对应的配置信息,则确定获取配置信息失败。
可选地,所述配置更新信息是由所述Zookeeper服务器根据接收到的人机交互界面发送的配置更新指令生成的。
可选地,所述配置更新信息包括下列部分或者全部:应用配置信息、开关配置信息、调度配置信息。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种基于Zookeeper的配置更新方法,其特征在于,包括:
应用服务器接收Zookeeper服务器推送的配置更新信息,其中,所述配置更新信息是由所述Zookeeper服务器根据接收到的配置更新指令得到的,所述配置更新信息包括下列部分或者全部:应用配置信息、开关配置信息、调度配置信息;其中,所述应用配置信息为应用程序的应用相关信息,所述开关配置信息为基于百分比的开关配置,所述开关配置可用于手动或自动接口降级或限流,所述开关配置包括用于灰度上线的开关配置和用于a/b测试的开关配置,所述调度配置信息包括远端调用的连接列表;
所述应用服务器根据所述配置更新信息,确定需要更新的应用程序实例;
所述应用服务器根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新;
其中,所述应用服务器根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新,包括:所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新;
所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新之后,还包括:所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
2.如权利要求1所述的方法,其特征在于,所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新之后,还包括:
所述应用服务器接收目标应用程序实例对应的配置调用命令;
所述应用服务器根据所述配置调用命令,判断所述内存缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述内存缓存中存在所述目标应用程序实例对应的配置信息,则所述应用服务器从所述内存缓存中获取所述配置信息;
若确定所述内存缓存中不存在所述目标应用程序实例对应的配置信息,则所述应用服务器判断所述文件缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述文件缓存中存在所述目标应用程序实例对应的配置信息,则所述应用服务器从所述文件缓存中获取所述配置信息;
若确定所述文件缓存中不存在所述目标应用程序实例对应的配置信息,则所述应用服务器确定获取配置信息失败。
3.如权利要求1所述的方法,其特征在于,所述配置更新信息是由所述Zookeeper服务器根据接收到的人机交互界面发送的配置更新指令生成的。
4.一种基于Zookeeper的配置更新装置,其特征在于,包括:
接收单元,用于接收Zookeeper服务器推送的配置更新信息,其中,所述配置更新信息是由所述Zookeeper服务器根据接收到的配置更新指令得到的,所述配置更新信息包括下列部分或者全部:应用配置信息、开关配置信息、调度配置信息;其中,所述应用配置信息为应用程序的应用相关信息,所述开关配置信息为基于百分比的开关配置,所述开关配置可用于手动或自动接口降级或限流,所述开关配置包括用于灰度上线的开关配置和用于a/b测试的开关配置,所述调度配置信息包括远端调用的连接列表;
确定单元,用于根据所述配置更新信息,确定需要更新的应用程序实例;
更新单元,用于根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新;
其中,所述更新单元,具体用于:根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新;
所述更新单元,还用于根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
5.如权利要求4所述的装置,其特征在于,所述更新单元,还用于:
接收目标应用程序实例对应的配置调用命令;
根据所述配置调用命令,判断所述内存缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述内存缓存中存在所述目标应用程序实例对应的配置信息,则从所述内存缓存中获取所述配置信息;
若确定所述内存缓存中不存在所述目标应用程序实例对应的配置信息,则判断所述文件缓存中是否存在所述目标应用程序实例对应的配置信息;
若确定所述文件缓存中存在所述目标应用程序实例对应的配置信息,则从所述文件缓存中获取所述配置信息;
若确定所述文件缓存中不存在所述目标应用程序实例对应的配置信息,则确定获取配置信息失败。
6.如权利要求4所述的装置,其特征在于,所述配置更新信息是由所述Zookeeper服务器根据接收到的人机交互界面发送的配置更新指令生成的。
7.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-3中任一权利要求所述的方法。
CN201511032008.7A 2015-12-31 2015-12-31 一种基于Zookeeper的配置更新方法及装置 Active CN105677404B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511032008.7A CN105677404B (zh) 2015-12-31 2015-12-31 一种基于Zookeeper的配置更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511032008.7A CN105677404B (zh) 2015-12-31 2015-12-31 一种基于Zookeeper的配置更新方法及装置

Publications (2)

Publication Number Publication Date
CN105677404A CN105677404A (zh) 2016-06-15
CN105677404B true CN105677404B (zh) 2019-03-19

Family

ID=56298527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511032008.7A Active CN105677404B (zh) 2015-12-31 2015-12-31 一种基于Zookeeper的配置更新方法及装置

Country Status (1)

Country Link
CN (1) CN105677404B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871649A (zh) * 2016-06-21 2016-08-17 上海帝联信息科技股份有限公司 节点服务器、服务端及其配置文件更新、更新控制方法
CN107885537A (zh) * 2016-09-28 2018-04-06 平安科技(深圳)有限公司 配置文件加载方法和装置
CN106789202A (zh) * 2016-12-08 2017-05-31 努比亚技术有限公司 业务管理装置及方法
CN106648648B (zh) * 2016-12-14 2020-09-15 深圳中顺易金融服务有限公司 基于Zookeeper的配置管理方法及系统
CN106685706A (zh) * 2016-12-14 2017-05-17 深圳中顺易金融服务有限公司 一种基于Zookeeper的配置更新方法及系统
CN106878053A (zh) * 2016-12-22 2017-06-20 努比亚技术有限公司 一种基于zookeeper的配置更新装置及其方法
CN108255533B (zh) * 2016-12-28 2021-12-17 平安科技(深圳)有限公司 系统配置更改方法及装置
CN106803793A (zh) * 2017-01-13 2017-06-06 郑州云海信息技术有限公司 一种分布式文件中客户端配置管理系统及方法
CN106990992A (zh) * 2017-04-10 2017-07-28 深圳乐信软件技术有限公司 服务配置方法、装置、服务器及存储介质
CN108733399A (zh) * 2017-04-13 2018-11-02 北京京东尚科信息技术有限公司 动态更新配置数据的方法和装置
CN108733463A (zh) * 2017-04-18 2018-11-02 北京京东尚科信息技术有限公司 一种可扩展的管理应用的方法和装置
US10261780B2 (en) * 2017-05-01 2019-04-16 Google Llc Transparent upgrade of a system service or application
CN109286643A (zh) * 2017-07-20 2019-01-29 西门子公司 读取一个应用实例的配置参数的方法和装置
CN107733715A (zh) * 2017-10-26 2018-02-23 苏州蜗牛数字科技股份有限公司 一种分布式系统中配置信息的管理系统及方法
CN108874413A (zh) * 2017-10-30 2018-11-23 北京旷视科技有限公司 服务升级方法、装置、系统和存储介质
CN109756543B (zh) * 2017-11-08 2021-07-20 北京京东尚科信息技术有限公司 程序关联关系的解耦系统和方法
CN107947971A (zh) * 2017-11-16 2018-04-20 北京恒华伟业科技股份有限公司 一种信息的配置方法、装置及服务器
CN108549584B (zh) * 2018-01-25 2020-11-27 北京奇艺世纪科技有限公司 一种服务端灰度降级方法和装置
CN108494598A (zh) * 2018-03-27 2018-09-04 北京邦邦共赢网络科技有限公司 一种应用服务的配置方法和装置
CN108710496A (zh) * 2018-05-17 2018-10-26 腾讯科技(深圳)有限公司 应用程序的配置更新方法、装置、设备及存储介质
CN108965007B (zh) * 2018-07-19 2021-08-27 北京车和家信息技术有限公司 Api网关接口配置更新方法及装置
CN110830528B (zh) * 2018-08-07 2023-06-02 北京京东尚科信息技术有限公司 一种用于分布式定时开关控制的方法和装置
CN110825425A (zh) * 2018-08-09 2020-02-21 北京京东尚科信息技术有限公司 配置数据管理方法及装置、电子设备、存储介质
CN109344353B (zh) * 2018-09-12 2021-10-08 福建天泉教育科技有限公司 一种可配置化的本地缓存刷新方法及终端
CN109586948A (zh) * 2018-10-16 2019-04-05 深圳壹账通智能科技有限公司 更新系统配置数据的方法、装置、计算机设备和存储介质
CN110187937A (zh) * 2019-06-06 2019-08-30 北京金山安全软件有限公司 一种配置信息处理方法、装置、电子设备及可读存储介质
CN110825772A (zh) * 2019-10-28 2020-02-21 爱钱进(北京)信息科技有限公司 多个服务实例的内存数据的同步方法、装置及存储介质
CN112182590A (zh) * 2020-11-16 2021-01-05 中国银联股份有限公司 一种Web应用的漏洞更新方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255752A (zh) * 2011-06-30 2011-11-23 北京新媒传信科技有限公司 一种服务器集群的配置管理系统和方法
CN102402441A (zh) * 2010-09-16 2012-04-04 腾讯科技(深圳)有限公司 一种对多台计算机进行配置的系统和方法
CN103500111A (zh) * 2013-10-11 2014-01-08 北京奇虎科技有限公司 一种基于zookeeper的信息配置方法及装置
CN103607424A (zh) * 2013-10-24 2014-02-26 北京奇虎科技有限公司 一种服务器连接方法及服务器系统
CN104104701A (zh) * 2013-04-08 2014-10-15 腾讯科技(深圳)有限公司 在线服务的配置更新的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402441A (zh) * 2010-09-16 2012-04-04 腾讯科技(深圳)有限公司 一种对多台计算机进行配置的系统和方法
CN102255752A (zh) * 2011-06-30 2011-11-23 北京新媒传信科技有限公司 一种服务器集群的配置管理系统和方法
CN104104701A (zh) * 2013-04-08 2014-10-15 腾讯科技(深圳)有限公司 在线服务的配置更新的方法和系统
CN103500111A (zh) * 2013-10-11 2014-01-08 北京奇虎科技有限公司 一种基于zookeeper的信息配置方法及装置
CN103607424A (zh) * 2013-10-24 2014-02-26 北京奇虎科技有限公司 一种服务器连接方法及服务器系统

Also Published As

Publication number Publication date
CN105677404A (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
CN105677404B (zh) 一种基于Zookeeper的配置更新方法及装置
CN103888281B (zh) 服务器灰度升级方法、装置及相应的灰度升级服务器
CN110166276A (zh) 一种帧同步异常的定位方法、装置、终端设备和介质
EP3059674A1 (en) Service processing method and apparatus based on bpm
CN108062243A (zh) 执行计划的生成方法、任务执行方法及装置
CN106685894B (zh) 一种风险识别方法、装置及系统
CN108280091A (zh) 一种任务请求执行方法和装置
CN112967023A (zh) 获取日程信息的方法、装置、设备、存储介质及程序产品
CN105511273B (zh) 一种客户端运行管理方法及客户端
CN112506581A (zh) 渲染小程序的方法、装置、电子设备和可读存储介质
CN105955838A (zh) 一种系统死机的原因查看方法及装置
CN105511914B (zh) 应用更新方法、装置和系统
CN111767149B (zh) 调度方法、装置、设备及存储设备
CN105229610B (zh) 管理以及实现web应用数据快照
CN112288128A (zh) 信息预测方法和装置
CN114860615A (zh) 规则自动化测试方法、装置、电子设备及存储介质
CN114090247A (zh) 用于处理数据的方法、装置、设备以及存储介质
CN107135191A (zh) 检查分布式业务处理完整度的方法及装置
CN111782445A (zh) 设备调试环境的配置方法和装置
CN110113746A (zh) 白名单处理方法、企业用户终端和服务器
CN109508359A (zh) 一种实时地图监控方法及装置
CN113656268B (zh) 业务服务的性能测试方法、装置、电子设备和存储介质
CN116594914B (zh) 测试数据的生成方法、装置、设备及存储介质
CN109976715A (zh) 一种软件项目开发方法和装置
CN103034494A (zh) Mac地址克隆方法、装置及cpe设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant