什么是开源组件Apollo配置及应用
随着程序功能的日益复杂,程序的配置日益增多,配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制等都是开发人员对配置管理的需求。然而,传统的通过配置文件、数据库等方式已经越来越无法满足这些需求。于是,携程框架部门研发了分布式配置中心——Apollo。该配置中心开发基于SpringBoot和SpringCloud,不需要额外安装Tomcat等应用容器。Apollo可以集中管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

Apollo配置中心的部署与客户端实现原理及配置
首先,配置中心git地址是https://github.com/ctripcorp/apollo/releases。下载配置中心jar包,这是一个微服务架构,分为三个jar项目:apollo-adminservice.jar、apollo-configservice.jar和apollo-portal.jar。依次启动三个应用即可完成配置中心的部署。客户端实现原理:客户端和服务端保持一个长连接,对比本地和服务端的版本号,从而能第一时间获得配置更新的推送。如果推送机制失效,客户端会定时从Apollo配置中心服务端拉取应用的最新配置。客户端从服务端获取到应用的最新配置后,会保存在内存中;同时也会缓存到本地文件系统一份。配置文件中需要配置客户端的应用ID,启动类需要加@EnableApollo注解。
实际应用案例
动态日志级别问题:日常运行中,日志级别很高可能造成系统性能下降;日志级别较低可能不利于排查定位问题。为了兼顾性能和排查问题,可以借助于日志组件和配置中心实现日志级别动态调整。通过Apollo配置中心配置logging.level属性,客户端监听配置变化,根据运维场景需求实时动态调整日志级别,使得无需频繁修改配置文件、重启应用来修改日志级别。并且对于客户端使用配置属性前台支持可视化查看。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5877.html
