使用携程Apollo搭建分布式配置中心

使用携程Apollo搭建分布式配置中心

传统修改配置文件,需要重新打包发布,重新发布服务,而且每个环境更配置文件,很复杂

  1. 什么是分布式配置中心
    1. 将配置文件注册到配置中心的平台上,可以使用分布式配置中心实时更新配置文件,统一管理,不需要重新打包发布。
    2. 而且可以实现分布式的。
  2. 分布式配置中心常用框架
    1. Apollo:携程写得(阿波罗)支持springboot
      1. 分布式配置原理:
        1. 增删改查配置文件信息
        2. 用户创建配置文件修改portalweb平台上文件的配置(Apollo服务端提供接口给应用端)
        3. 应用端向Apollo服务器端获取文件信息
        4. 项目扫包判断是否有重写value注解,判断是否有没有该配置信息,如果没有就会直接去Apollo的平台获取。再缓存到对应的jvm上面。
        5. Apollo有三个平台:
          1. Config Service:配置文件http的接口平台,提供获取接口(接口为Apollo的应用端)
          2. enreka service做心跳检测
          3. admin service服务给portalWeb门户平台推给应用端使用监听技术(netty技术进行监听)
    2. disconf(依赖zk的)根据事件通知来进行实时更新
    3. zookeeper
    4. diamond 阿里巴巴的配置中心
    5. 大型公司会有自己的配置中心框架
  3. 使用携程Apollo搭建分布式配置中心
    搭建分布式服务配置中心环境要求和常见错误
    1. 环境要求,内存要2G以上
    2. 一定要安装1.8以上
    3. 搭建数据库 创建表 存放数据要用到的。
      1. apolloconfigdb 存放配置文件的 和apolloportaldb 门户网站的信息的
    4. Apollo源码包:apollo-master 依赖包 Apollo的环境都搭建好了。
    5. apollo-build-script-master 整个阿波罗环境包,使用一个命令就可以启动三个项目
    6. 建议mysql数据库为5.7以上的,(因为一个表中不能有两个时间戳的结构)
  4. 搭建Apollo-Portal门户Web配置中心平台
    1. 先把文件解压
    2. 修改demo.sh文件修改文件中连接数据库的文件信息
    3. 再修改一下部署的服务地址的ip地址
    4. 在启动时用./demo.sh start
  5. SpringBoot客户端整合Apollo配置中心平台
    1. 将Apollo的jar包打入到私服或者公司的私服中,将源码包解压在script中点击build.bat就可以把jar包打入到仓库中
    2. 引入依赖
    3. 建立yml文件配置如下:
server:
      	      port:8001
      	spring:
      	       application:
      		      name:qxdedu_a #服务名称
      	enreka:
      		client:
      			service-url:
      				defaultZone:http://192.168.212.150:8080/enreka    

#这些配置为对应是本个springboot启动用的tomcat服务器的端口号和启动Apollo的项目的Linux的IP地址和端口号。
什么配置文件需要上传到分布式配置中心里面
1. 经常改变的信息需要上传到服务器中。
2. 端口号不需要的
4. 修改环境mac或者Linux的环境在/opt/settings/server.properties
在windows中在C:\opt\settings\server.properties 都设置为env=DEV
5. 创建一个apollo-env.properties文件

  1. local.meta=http://192.168.212.150:8080
  2. dev.meta=http://192.168.212.150:8080
  3. fat.mata=${fat_meta}
  4. uat.mata=${uat_meta}
  5. lpt.mata=${lpt_meta}
  6. pro.mata=${pro_meta}
  1. 建立一个META-INF文件夹创建app.properties指定appid (appid=appid_0064)
  2. 建立一个包controller读取远程变量 启动这个springboot项目
  3. Apollo的实现原理
    1. 就是客户端将配置信息修改后点击确定后将数据缓存到Apollo的配置中心(但是没有将数据提交到Apollo的客户端)
    2. 点击提交事件后通过http协议建立长连接(一直都是长连接)把数据推给Apollo的客户端并且本地缓存一份,Apollo客户端也会定时拉取配置文件。
    3. 应用程序获取配置文件
      [http://www.xuxueli.com/page/projects.html] xxl的社区网站
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值