APOLLO配置中心

  • 使用的Apollo版本和部署:
  • 每个环境独立部署apollo-adminservice-1.5.1,apollo-configservice-1.5.1 访问数据库ApolloConfigDB
  • Portal只需要部署一个就行
  • 因为Portal需要管理多个环境,因此需要在Portal下的配置文件apollo-env.properties配置各个环境的meta-server地址
  • Apollo配置:
  • Apollo客户端需要在自己的物理机上的/opt/settings目录下的server.properties配置环境, 例如:env=DEV
  • 需要修改Apollo的各个环境的数据库的表ServerConfig中的eureka.service.url地址为对应的apollo-configservice-1.5.1服务的地址
  • 说明
  • Apollo中的configservice封装了eureka注册中心的API统一以HTTP协议的方式提供服务注册发现(估计是为了跨语言客户端提供配置中心服务,因为eureka只支持JAVA语言的客户端)
  • Apollo给configservice命名为meta-server地址 那么meta-server地址实际上就是注册中心的地址也是叫做configservice地址
  • eureka—>configservice—→meta-server (meta-server只是逻辑含义不是真正独立存在的物理服务)
  • 新增一个环境的操作步骤:
  • 把已有环境的apollo-adminservice-1.5.1,apollo-configservice-1.5.1拷贝到新的物理机上
  • 在新的环境导入数据库ApolloConfigDB,并用SQL初始化数据
  • 修改apollo-adminservice-1.5.1,apollo-configservice-1.5.1对应的数据库(ApolloConfigDB)连接地址
  • 启动服务adminservice, configservice
  • 在Protal下的apollo-env.properties新增meta-server地址(即configservice地址)
  • Apollo新环境部署完成,打开Portal页面环境可以看到新的环境了
  • 修改客户端配置apollo-env.properties 新增新创建的Apollo环境的meta-server地址
  • 修改客户端所在的物理机的/opt/settings下的server.properties文件为env=xxx
  • 重启客户端服务,可以看到已经打印出和配置中心的交互的日志信息表示成功了
  • 如果是本地开发,想自己本地独立启动服务方便本地断点调试,独立使用各自的配置的namespace
  • 在Portal页面添加一个集群,名字自己取,选择开发环境dev
  • 把dev环境配置同步到自己的集群下
  • 修改自己创建的集群的各个namespace的配置信息,如spring.provider.name = app-center
  • 如果本地是windows环境,默认在C:/opt/settings目录下修改server.properties文件,新增idc=自己刚刚创建的集群名称
  • 启动服务,看日志是否选择自己创建的集群启动
  • APP,环境,集群,NameSpace关系
  • APP即项目,也就是你的开发项目(并不是项目中的某个微服务模块)
  • 一个APP对应多个环境
  • 一个环境对应多个集群(每创建一个新的环境,会默认有个集群default,可以自己去看本地缓存文件的命名方式 在/opt/data/appid目录下)
  • 一个集群对应多个namespace (namespace相当于我们的一个properties配置文件,可以这么理解,一个微服务就是一个properties文件,也就是一个namespace)
  • 更加详细的文档看下官方文档: