本发明涉及一种信息技术处理领域,特别涉及一种apollo配置中心的搭建方法。
背景技术:
随着分布式系统中程序功能的日益复杂,程序的配置日益增多,各种功能的开关、参数的配置、服务器的地址等的配置错综复杂,对程序配置的期望值也越来越高,配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制……在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。因此需要进行分布式系统中对服务的统一配置管理,从而提高系统的简易性,可用性。
apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。但现有的apollo配置复杂,项目接入运用困难。
技术实现要素:
有鉴于此,本发明的目的是提供一种apollo配置中心的搭建方法,用于解决现有技术存在的配置复杂,项目接入运用困难的问题。
为实现上述目的,本发明提供了一种apollo配置中心的搭建方法,包括包括以下步骤:创建configdb数据库和portaldb数据库并完成初始化;下载并安装configservice服务、adminservice服务和portal服务;分别部署configservice服务、adminservice服务和portal服务。
可选的,apollo为数据库、表的创建和样例数据都分别准备了sql文件,将所述的sql文件导入configdb数据库和portaldb数据库;configdb数据库中存放项目在某个环境的配置信息;portaldb数据库中存放用户权限、项目和配置的元数据信息;configservice服务和adminservice服务共享configdb数据库;portaldb数据库服务于portal服务。
可选的,protal服务部署一份,并管理多套环境;configservice服务、adminservice服务和portaldb数据库在每个环境中部署一份。
可选的,configservice服务、adminservice服务和portal服务按顺序依次启动。
可选的,configservice服务是一个独立的微服务,服务于客户端,向客户端提供配置的读取、推送功能。
可选的,客户端和configservice服务保持长连接,通过一种拖拉结合的模式,实现配置实时更新的同时,保证配置更新不丢失。
可选的,adminservice服务是一个独立的微服务,服务于portal服务;portal服务通过调用adminservice进行配置管理和发布;配置portal服务时,可在默认的环境基础上,自行添加环境。
可选的,adminservice服务提供配置的修改、发布功能。
可选的,apollo配置与springboot集成,包括以下步骤:引入apollo依赖包;添加apollo配置文件;添加springboot应用与apollo的关联关系;保证springboot实时获取apollo配置。
可选的,配置文件为关键值形式,配置文件修改完需提交和发布,配置文件可以选择要发布的环境。
可选的,项目重启时,以apollo配置的端口启动。
与现有技术相比,本发明之技术方案具有以下优点:创建configdb数据库和portaldb数据库并完成初始化;下载并安装configservice服务、adminservice服务和portal服务;分别部署configservice服务、adminservice服务和portal服务。本发明修改配置后可以实时获取,不用重启项目;本发明还可以可统一维护所有项目的配置文件。
附图说明
图1为本发明apollo配置中心的搭建框图;
具体实施方式
以下结合附图对本发明的优选实施例进行详细描述,但本发明并不仅仅限于这些实施例。本发明涵盖任何在本发明的精神和范围上做的替代、修改、等效方法以及方案。
为了使公众对本发明有彻底的了解,在以下本发明优选实施例中详细说明了具体的细节,而对本领域技术人员来说没有这些细节的描述也可以完全理解本发明。
在下列段落中参照附图以举例方式更具体地描述本发明。需说明的是,附图均采用较为简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
如图1所示,示意了本发明apollo配置中心的搭建框图,创建configdb数据库和portaldb数据库并完成初始化;下载并安装configservice服务、adminservice服务和portal服务;分别部署configservice服务、adminservice服务和portal服务。configservice服务、adminservice服务和portal服务按顺序依次启动。
apollo为数据库、表的创建和样例数据都分别准备了sql文件,将所述的sql文件导入configdb数据库和portaldb数据库;configdb数据库中存放项目在某个环境的配置信息;portaldb数据库中存放用户权限、项目和配置的元数据信息。configservice服务和adminservice服务共享configdb数据库;portaldb数据库服务于portal服务。
configservice服务是一个独立的微服务,服务于客户端,向客户端提供配置的读取、推送功能。客户端和configservice服务保持长连接,通过一种拖拉结合的模式,实现配置实时更新的同时,保证配置更新不丢失。adminservice服务是一个独立的微服务,服务于portal服务;portal服务通过调用adminservice进行配置管理和发布;配置portal服务时,可在默认的环境基础上,自行添加环境。adminservice服务是一个独立的微服务,服务于portal服务;portal服务通过调用adminservice进行配置管理和发布;配置portal服务时,可在默认的环境基础上,自行添加环境。protal服务部署一份,并管理多套环境;configservice服务、adminservice服务和portaldb数据库在每个环境中部署一份。
apollo配置与springboot集成,包括以下步骤:
引入apollo依赖包(compilegroup:'com.ctrip.framework.apollo',name:'apollo-client',version:'1.2.0');添加注解:通过@enableapolloconfig使配置文件从配置中心获取;添加springboot应用与apollo的关联关系,保证springboot实时获取apollo配置。
对于apollo修改配置,配置文件为关键值(key-value)形式,配置文件修改完需提交和发布,配置文件可以选择要发布的环境。
项目本地端口可以配置2000,但是项目重启以apollo配置的端口启动。
虽然以上将实施例分开说明和阐述,但涉及部分共通之技术,在本领域普通技术人员看来,可以在实施例之间进行替换和整合,涉及其中一个实施例未明确记载的内容,则可参考有记载的另一个实施例。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。