目录

一、下载压缩包

二、解压压缩包

三、创建数据库

四、修改配置信息

1.修改数据库链接信息

2.修改启动端口号

3.修改数据库表

4.修改meta service信息

五、启动服务

六、查看是否部署成功

7、java springboot项目接入apollo

1.修改application.yml

2.添加注解

3.脚本启动


机器:2台centos7服务器

数据库:mysql 5.7,版本要求5.6.5+

官方指导文档:Apollo

部署架构

apollo集群springboot配置_后端

一、下载压缩包

GitHub Release页面下载最新版本的apollo-configservice-x.x.x-github.zip、apollo-adminservice-x.x.x-github.zip和apollo-portal-x.x.x-github.zip

二、解压压缩包

解压至server1服务器/data/apollo目录下的apollo-configservice,apollo-configservice-pro,apollo-adminservice,apollo-adminservice-pro,apollo-portal,server2服务器data/apollo目录下的apollo-configservice,apollo-configservice-pro,apollo-adminservice,apollo-adminservice-pro

三、创建数据库

apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们这里添加一个pro环境,所以需要多创建一个数据库ApolloPortalDBPRO,ApolloPortalDB只需要一个,所有我们一共有三个数据库ApolloPortalDB,ApolloConfigDB,ApolloConfigDBPro

在mysql客户端执行

  • source /your_local_path/scripts/sql/apolloportaldb.sql
  • source /your_local_path/scripts/sql/ApolloConfigDB.sql
  • source /your_local_path/scripts/sql/ApolloConfigDB.sql(脚本的库名改成ApolloPortalDBPRO)

四、修改配置信息

1.修改数据库链接信息

server1,server2修改 /data/apollo/apollo-configservice,/data/apollo/apollo-configservice-pro,/data/apollo/apollo-adminservice,/data/apollo/apollo-adminservice-pro下config目录下的application-github.properties

server1修改/data/apollo/apollo-portal下config目录下的application-github.properties

spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd

修改库连接信息为前面创建的数据库信息

2.修改启动端口号

server1,server2修改 /data/apollo/apollo-configservice,/data/apollo/apollo-configservice-pro,/data/apollo/apollo-adminservice,/data/apollo/apollo-adminservice-pro,/data/apollo/apollo-portal下scripts目录下的startup.sh,端口根据原端口进行灵活调整

apollo-adminservic

SERVER_PORT=${SERVER_PORT:=18090}

apollo-adminservic-pro

SERVER_PORT=${SERVER_PORT:=28090}

apollo-configservice

SERVER_PORT=${SERVER_PORT:=18080}

apollo-configservice-pro

SERVER_PORT=${SERVER_PORT:=28080}

apollo-portal

SERVER_PORT=${SERVER_PORT:=18070}

3.修改数据库表

修改apolloconfigdb库apolloconfigdb表

key=eureka.service.url

value=http:域名:18080/eureka/

修改apolloconfigdbpro库apolloconfigdb表

key=eureka.service.url

value=http:域名:28080/eureka/

修改apolloportaldb库serverconfig表

key=apollo.portal.envs

value=dev,pro

4.修改meta service信息

修改/data/apollo/apollo-portal下config的apollo-env.properties

dev.meta=http://域名:18080

pro.meta=http://域名:28080

域名:18080在nginx中对应,域名:28080类似

upstream bbk-apollo{
       server server1:18080;
       server server2:18080;
   }

五、启动服务

server1:

sh /data/apollo/apollo-configservice/scripts/startup.sh

sh /data/apollo/apollo-configservice-pro/scripts/startup.sh

sh /data/apollo/apollo-adminservice/scripts/startup.sh

sh /data/apollo/apollo-adminservice-pro/scripts/startup.sh

sh /data/apollo/apollo-portal/scripts/startup.sh

server2:

sh /data/apollo/apollo-configservice/scripts/startup.sh

sh /data/apollo/apollo-configservice-pro/scripts/startup.sh

sh /data/apollo/apollo-adminservice/scripts/startup.sh

sh /data/apollo/apollo-adminservice-pro/scripts/startup.sh

六、查看是否部署成功

http://域名:18080

http://server1:18070

Apollo客户端会把从服务端获取到的配置在本地文件系统缓存一份,用于在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置,不影响应用正常运行。

  • Mac/Linux: /opt/data/{appId}/config-cache
  • Windows: C:\opt\data\{appId}\config-cache

7、java springboot项目接入apollo

1.修改application.yml

在文件中添加下面配置,如果不设置环境,默认是dev

app: id: test apollo: meta: http://域名:18080 bootstrap: enabled: true namespaces: application.properties

2.添加注解

在application启动类上

@EnableApolloConfig

在参数添加注解 @Value("${xx}")

3.脚本启动

nohup java -Denv=pro -Dapp.id=xxx -Dapollo.meta=http://ip:port -jar app.jar >> app.log  2>&1 &

如果是在IDEA想设置环境,可以用下面的方式

apollo集群springboot配置_github_02