Apollo配置中心学习

什么是Apollo?

何为Apollo?我的理解就是一款项目参数配置工具,可以用来配置不同应用不同环境的参数配置,同时可以实现在线配置更新而无需重启服务的工具.同时拥有自己的配置中心页面,包含参数配置与配置发布权限管理.是携程开发的一款分布式开发工具.

为什么用Apollo?

为什么说到Apollo,一方面是入职新公司采用这一技术栈,另一方面是以前参与的项目是采用配置文件放在固定目录,不同环境修改固定文件配置即可.但是这样存在一个弊端,修改配置参数 需要重启业务服务,这样对于业务量较小的团队来讲可以接受,但是对于像现在业务量较大的诊所业务相比,一天都处在业务高峰期,只有夜间8点之后流量下降,虽然可以接受,但是管理起来比较麻烦.同时因为参数配置容易出错、参数配置与参数配置发布耦合、无法实现实时更新等缺点,所以我选择Apollo区管理.

Apollo的原理?

原文地址

使用apollo需要搭建apollo服务端及客户端,不同项目环境配置参数在apollo服务端页面进行管理配置,apollo客户端整合在web应用中.apollo客户端启动后与服务端建立长连接,服务端更新配置,实时推送到客户端,客户端将配置读取到内存中使用,同时有2个机制可以很好的防止因网络或推送机制异常导致配置读取失败.第一点:apollo客户端默认5分钟主动拉取一次apollo服务端配置.这个是可配置修改的.第二点:缓存机制,apollo客户端读取服务端的配置后,会将配置信息缓存到固定文件夹下,如果在网络不可用的情况下会,会读取缓存文件的配置信息.可以自定义缓存路径
在这里插入图片描述

Apollo如何使用?

  1. Apollo页面管理配置
    首先Apollo项目在github提供了演示环境,对于有学习想法的同学 可以无需自己搭建环境,即可熟悉Apollo页面操作.
106.54.227.205
账号/密码:apollo/admin
创建一个项目-》创建不同的环境--》分配项目配置权限----》分配项目配置发布权限---》发布配置

在这里插入图片描述

  1. Apollo整合Spring框架使用
    appId配置+metaServer服务地址配置+jar包客户端配置+javaBean注解配置+@Value的方式。上述的方式有很多中,原文如下——>配置方式,这里我采用目前项目中使用的方式,appId采用放到META-INF目录的app.properties中.metaServer放到sringboot启动参数里面.javaBean注解采用springboot启动函数里面,主要是@Configuration、@EnableApolloConfig的方式。
    在这里插入图片描述
    Springboot启动参数配置–》配置metaServer+使用环境参数
    在这里插入图片描述
    JAR包Maven配置
    在这里插入图片描述

主函数@EnableApollo配置
在这里插入图片描述
@Value注解配置
在这里插入图片描述

参考springcloud项目配置apollo配置

apollo环境搭建及springCloud整合实例
当然官网下面其实有有赞案例整合的例子–》看哪一个都可以
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章