一、准备工作
1.Java
Apollo服务端:1.8+
Apollo客户端:1.7+
2.MySQL
版本要求:5.6.5+
查看版本命令:SHOW VARIABLES WHERE Variable_name = 'version';
3.环境
Apollo目前支持以下环境:DEV(开发环境)、FAT(测试环境)、UAT(验收环境)、PRO(生产环境)
部署策略示例:
Portal部署在生产环境的机房,通过它来直接管理FAT、UAT、PRO等环境的配置
Meta Server、Config Service和Admin Service在每个环境都单独部署,使用独立的数据库
Meta Server、Config Service和Admin Service在生产环境部署在两个机房,实现双活
Meta Server和Config Service部署在同一个JVM进程内,Admin Service部署在同一台服务器的另一个JVM进程内
二、部署步骤
1.创建数据库
1.1 创建ApolloPortalDB
导入apolloportaldb.sql后,执行以下语句进行验证:
select `Id`, `Key`, `Value`, `Comment` from `ApolloPortalDB`.`ServerConfig` limit 1;
注:ApolloPortalDB只需要在生产环境部署一个即可
1.2 创建ApolloConfigDB
导入apolloconfigdb.sql后,执行以下语句进行验证:
select `Id`, `Key`, `Value`, `Comment` from `ApolloConfigDB`.`ServerConfig` limit 1;
注:ApolloConfigDB需要在每个环境部署一套,如fat、uat和pro分别部署3套ApolloConfigDB
1.3 调整服务端配置
1.3.1 调整ApolloPortalDB配置
配置项统一存储在ApolloPortalDB.ServerConfig表中。
apollo.portal.envs - 可支持的环境列表
默认值是dev,如果portal需要管理多个环境的话,以逗号分隔即可(大小写不敏感),如:DEV,FAT,UAT,PRO
organizations - 部门列表
Portal中新建的App都需要选择部门,所以需要在这里配置可选的部门信息,样例如下:
[{"orgId":"TEST1","orgName":"样例部门1"},{"orgId":"TEST2","orgName":"样例部门2"}]
superAdmin - Portal超级管理员
超级管理员拥有所有权限,需要谨慎设置。
如果没有接入自己公司的SSO系统的话,可以先暂时使用默认值apollo(默认用户)。
等接入后,修改为实际使用的账号,多个账号以英文逗号分隔(,)。
consumer.token.salt - consumer token salt
如果会使用开放平台API的话,可以设置一个token salt。如果不使用,可以忽略。
wiki.address
portal上“帮助”链接的地址,默认是Apollo github的wiki首页,可自行设置。
admin.createPrivateNamespace.switch
是否允许项目管理员创建private namespace。设置为true允许创建,设置为false则项目管理员在页面上看不到创建private namespace的选项。
1.3.2 调整ApolloConfigDB配置
配置项统一存储在ApolloConfigDB.ServerConfig表中,需要注意每个环境的ApolloConfigDB.ServerConfig都需要单独配置。
eureka.service.url - Eureka服务Url
不管是apollo-configservice还是apollo-adminservice都需要向eureka服务注册,所以需要配置eureka服务地址。
如有多个,用逗号分隔(注意不要忘了/eureka/后缀)。
需要注意的是每个环境只填入自己环境的eureka服务地址.
namespace.lock.switch - 一次发布只能有一个人修改开关,用于发布审核
这是一个功能开关,如果配置为true的话,那么一次配置发布只能是一个人修改,另一个发布。
config-service.cache.enabled - 是否开启配置缓存
这是一个功能开关,如果配置为true的话,config service会缓存加载过的配置信息,从而加快后续配置获取性能。
默认为false,开启前请先评估总配置大小并调整config service内存配置。
2.获取安装包
2.1 直接下载安装包
2.1.1 获取apollo-configservice、apollo-adminservice、apollo-portal安装包
从GitHub Release页面下载最新版本的apollo-configservice-x.x.x-github.zip、apollo-adminservice-x.x.x-github.zip
和apollo-portal-x.x.x-github.zip即可。
2.1.2 配置数据库连接信息
2.1.2.1 配置apollo-configservice的数据库连接信息
解压apollo-configservice-x.x.x-github.zip
用程序员专用编辑器(如vim,notepad++,sublime等)打开config目录下的application-github.properties文件
填写正确的ApolloConfigDB数据库连接串信息,注意用户名和密码后面不要有空格!
修改完的效果如下:
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd
注:由于ApolloConfigDB在每个环境都有部署,所以对不同的环境config-service需要配置对应环境的数据库参数
2.1.2.2 配置apollo-adminservice的数据库连接信息
解压apollo-adminservice-x.x.x-github.zip
用程序员专用编辑器(如vim,notepad++,sublime等)打开config目录下的application-github.properties文件
填写正确的ApolloConfigDB数据库连接串信息,注意用户名和密码后面不要有空格!
修改完的效果如下:
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd
注:由于ApolloConfigDB在每个环境都有部署,所以对不同的环境admin-service需要配置对应环境的数据库参数
2.1.2.3 配置apollo-portal的数据库连接信息
解压apollo-portal-x.x.x-github.zip
用程序员专用编辑器(如vim,notepad++,sublime等)打开config目录下的application-github.properties文件
填写正确的ApolloPortalDB数据库连接串信息,注意用户名和密码后面不要有空格!
修改完的效果如下:
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd
2.1.2.4 配置apollo-portal的meta service信息
Apollo Portal需要在不同的环境访问不同的meta service(apollo-configservice)地址,所以我们需要在配置中提供这些信息。
打开apollo-portal-x.x.x-github.zip中config目录下的apollo-env.properties文件进行配置,如:
dev.meta=http://1.1.1.1:8080
fat.meta=http://apollo.fat.xxx.com
uat.meta=http://apollo.uat.xxx.com
pro.meta=http://apollo.xxx.com
2.1.3 获取apollo-client相关jar包(略)
2.2 通过源码构建(略)
2.3 部署Apollo服务端
2.3.1 部署apollo-configservice
启动服务:scripts/startup.sh
停止服务:scripts/shutdown.sh
注:根据情况可修改startup.sh文件中的端口号、JAVA_OPTS、日志输出目录等
2.3.2 部署apollo-adminservice
启动服务:scripts/startup.sh
停止服务:scripts/shutdown.sh
注:根据情况可修改startup.sh文件中的端口号、JAVA_OPTS、日志输出目录等
2.3.3 部署apollo-portal
启动服务:scripts/startup.sh
停止服务:scripts/shutdown.sh
注:根据情况可修改startup.sh文件中的端口号、JAVA_OPTS、日志输出目录等
相关推荐
django项目访问apollo,增加了配置加密后自动解密功能 当环境设置为local,默认取本地配置,配置文件默认在~/data/...apollo配置中心拉取配置 支持回调接口 secret认证 支持灰度发布 支持本地文件缓存 只支持python3.x
施工图通常由建筑师和工程师合作完成,其中包括平面图、立面图、剖面图、详图等,这些图纸提供了建筑物的尺寸、材料、构造细节和安装指南。平面图展示了楼层布局,包括办公区域、会议室、休息区等功能空间的位置;...
apollo安装配置文档
您的应用已准备好进行部署! 有关更多信息,请参见有关的部分。npm run eject 注意:这是单向操作。 eject ,您将无法返回! 如果您对构建工具和配置选择不满意,则可以随时eject 。 此命令将从项目中删除单个构建...
Arduino-Arduino_Apollo3.zip,Arduino Core支持Ambiq Micro的Apollo3微控制器阿波罗3微控制器的Arduino核心,Arduino是一家开源软硬件公司和制造商社区。
介绍如何通过docker,nginx,erueka,appllo 搭建基于springboot的SpringCloud架构操作步骤。帮助你开始部署测试环境和开发环境的springboot项目环境。
Apollo是由百度公司开发的一个开放平台,专为自动驾驶系统设计,旨在提供一套完整、安全、可靠的解决方案。Apollo2.0是该平台的一个重要版本,相较于早期的1.5版,它在功能、性能和易用性上都有显著提升。...
自动驾驶控制器比较 - MPC 与 LQR 自动驾驶技术中,控制器的选择和设计是非常重要的。Apollo 代码学习中,MPC(模型预测控制)和 LQR(线性二次调解器)是两种常用的控制器。本文将对 MPC 和 LQR 进行比较,讨论...
Mac OS X上最先进的电子邮件客户端! 通过Apollo,您可以设置漫游器以在外出时回复电子邮件,可以使用Assistants来帮助执行日常任务,还可以使用AppleScript来设置您自己或其他人无尽的插件。 而且阿波罗是完全免费...
阿波罗InStorageCache apollo-cache-instorage的一个扩展apollo-cache-inmemory允许资源的粒状高速缓存能力,在存储的选择。目的Apollo Client的持久层最著名的实现是apollo-cache-persist 。 该项目的主要警告是...
库应用程序-GraphQL,带有appllo-client的ReactJs,Node&Express。依存关系Node: ^10.13.0npm: 6.4.1nodemon(optional) - used to run application安装nodemon npm install -g nodemon-保存服务器配套npm安装"cors...
Bootstrap 4:响应式布局角度材质:UI组件Apollo客户端(Appllo Angular):GraphQL客户端库正在更新... 特征 使用GraphQL作为后端。 包括身份验证,查询和CRUD数据(进行中) Hackernews克隆(正在进行中) 集成ngx...