Apollo搭建以及整合SpringBoot

整个过程可以参考更加细致的文档:https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide

1:前期准备工作(非定制化开发包部署)

  1.1:jdk的环境建议:1.8及以上

  1.2:mysql建议5.6以上

2:安装前工作

  2.1:数据库准备,Apollo需要两个库,ApolloPortalDB和ApolloConfigDB,官方准备好了sql文件但是下载速度比较慢,可以通过下面的百度网盘地址进行提取,需要注意的是,如果已经有过apollo库了,一定要备份,否则将会覆盖数据,sql下载地址:

    链接:https://pan.baidu.com/s/1RT5wQvNORuLe3Gwuw4pifg
    提取码:ACE1

    官方下载地址--》ApolloPortalDB:https://github.com/apolloconfig/apollo-quick-start/blob/master/sql/apolloportaldb.sql
    官方下载地址--》ApolloConfigDB:https://github.com/apolloconfig/apollo-quick-start/blob/master/sql/apolloconfigdb.sql

   2.2:下载安装包

    2.2.1:直接下载已经构建好的包

      同样的,下载速度还是比较慢,所以还是用下面这个可以直接提取我使用的这个版本

      链接:https://pan.baidu.com/s/1nEvOhc6y0ebREylX7cdzqg
      提取码:ACE1

      官方提取地址:https://github.com/apolloconfig/apollo/releases

      下载:apollo-configservice-x.x.x-github.zip、apollo-adminservice-x.x.x-github.zip、apollo-portal-x.x.x-github.zip

  2.3:配置数据库连接

    解压下载的包,数据库配置在:config/application-github.properties中,配置时,注意不要有空格

apollo-configservice和apollo-adminservice连接的库是一样的

apollo-configservice:
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = admin
spring.datasource.password = 123456
apollo-adminservice:
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = admin
spring.datasource.password = 123456

apollo-portal的库是下面这个

apollo-portal:
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = admin
spring.datasource.password = 123456

 

3:给文件夹赋权,启动脚本.

注意:启动完后如果是成功的状态,则一般来说需要等一段时间,等项目启动完毕访问才有效。如果启动失败了,会提示一个失败的日志路径,可以看看是什么原因导致的。

  3.1:赋权命令:chmod -R 777 文件夹  

  3.2:启动脚本命令在三个文件夹里面的[scripts]文件下,启动:./scripts/startup.sh

注意:部分自己测试玩的时候,虚拟机如果是防火墙开着的情况下,需要给端口开权限或者关闭防火墙,开启端口的请看另一篇博客:https://www.cnblogs.com/aiqingbi-aifeifei/p/14176154.html,三个服务的端口分别是,8070、8080,、8090,还得保证这些端口是没有被占用的

  3.3:访问路径是 服务器IP + 8070,初始密码是:apollo/admin 

4:多环境配置

  多环境配置,需要让 portal访问不同的config,所以,先把apollo-configservice-x.x.x-github.zip、apollo-adminservice-x.x.x-github.zip,放到另一台机器上,定义它是开发或者测试环境,然后打开portal项目的apollo-env.properties,配置相关的环境即可,由于我这里生产服务配置就是本机,

  大概部署情况如下截图

    首先是生产环境 + 页面

 

 

   其次是开发环境

 

最后看下apollo的页面就是这样的  

 

 再看一下环境配置

 

 

 

 5:整合SpringBoot

  5.1:引入jar包

<dependency>
            <groupId>com.ctrip.framework.apollo</groupId>
            <artifactId>apollo-client</artifactId>
            <version>1.7.0</version>
        </dependency>

  5.2:修改配置文件

需要注意的是,里面有个饥饿加载的配置(eagerLoad),建议加上值是true,这个是涉及到spring加载顺序,如果不开启,那么在某些情况下,可能会导致项目里的参数无法被apollo覆盖

app:
  id: apollo_test_admin
apollo:
  meta: http://192.168.197.160:8080
  bootstrap:
    enabled: true
    eagerLoad:
      enabled: true
      namespaces: application

  5.3:启动类加注解:@EnableApolloConfig

6:使用

  6.1:测试方法,随便写个controller,用@value注解获取,因为这个是实时获取的,方便测试,配置文件本地加上一个参数名和值。然后启动,先访问接口,看获取的值是否是本地配置文件的值。

    然后,在apollo里面,对应的环境,也配置上一样的参数,但是值要写不一样的,然后访问接口,如果值变成了apollo里面的值说明整合成功!

 

 

  

 

posted @ 2022-12-13 10:19  鸭猪是的念来过倒  阅读(322)  评论(0编辑  收藏  举报