apollo--本地搭建

创建数据库

Apollo 服务端共有两个数据库:

  • ApolloPortalDB
  • ApolloConfigDB

在 Apollo 项目下的 scripts 目录,提供了对应的初始化脚本

scripts

"

1 创建 ApolloPortalDB

通过各种 MySQL 客户端导入 sql/apolloportaldb.sql 脚本。

导入成功后,表结构如下:

表结构

"

2 创建 ApolloConfigDB

通过各种 MySQL 客户端导入 sql/apolloconfigdb.sql 脚本。

导入成功后,表结构如下:表结构

"

ConfigService && AdminService

同时启动 apollo-adminserviceapollo-configservice 项目,基于 apollo-assembly 项目来启动

1、新建 IDEA Application Application

"

2、配置 IDEA Application配置Application

"
  • Main classcom.ctrip.framework.apollo.assembly.ApolloApplication

  • VM options

    1
    2
    3
    4
    5
    -Dapollo_profile=github
    -Dspring.datasource.url=jdbc:mysql://localhost:33061/ApolloConfigDB? characterEncoding=utf8
    -Dspring.datasource.username=root
    -Dspring.datasource.password=123456
    -Dlogging.file=/Users/yunai/apollo-assembly.log
    • spring.datasource 配置连接 ApolloConfigDB 数据库。
    • loggine.file 配置日志输出文件。
  • Use classpath of moduleapollo-assembly

3、启动 IDEA Application

启动 Application

"

启动时间需要 3 分钟左右,请耐心等待。当打开 http://localhost:8080/ 看到 APOLLO-ADMINSERVICE 和 APOLLO-CONFIGSERVICE 注册到 Eureka 中,代表启动成功。 http://localhost:8080/

"

PortalService

1、新建 IDEA Application

2、配置 IDEA Application配置Application

"
  • Main classcom.ctrip.framework.apollo.portal.PortalApplication

  • VM options

    1
    2
    3
    4
    5
    6
    7
    -Dapollo_profile=github,auth
    -Ddev_meta=http://localhost:8080/
    -Dserver.port=8070
    -Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
    -Dspring.datasource.username=root
    -Dspring.datasource.password=
    -Dlogging.file=/Users/yunai/apollo-portal.log
    • spring.datasource 配置连接 ApolloPortalDB 数据库。
    • loggine.file 配置日志输出文件。
  • Use classpath of moduleapollo-portal

内置账号

  • username :Apollo
  • password :admin

3、启动 IDEA Application

启动时间很快。当打开 http://localhost:8070/ http://localhost:8070/

"

Demo

考虑到下面的测试,需要创建测试的应用,编号为 100004458 。如下图所示:100004458

"

1、新建 IDEA Application

2、配置 IDEA Application配置 Application

"
  • Main classcom.ctrip.framework.apollo.demo.api.SimpleApolloConfigDemo

  • VM options

    1
    2
    -Denv=dev
    -Ddev_meta=[http://localhost:8080](http://localhost:8080/)
  • Use classpath of moduleapollo-demo

3、启动 IDEA Application

  • 成功后,输出日志如下:

    1
    Apollo Config Demo. Please input key to get the value. Input quit to exit.
  • 输入 "timeout" ,回车,输出如下:

    1
    2
    timeout
    > [apollo-demo][main]2018-04-22 11:12:43,345 INFO [com.ctrip.framework.apollo.demo.api.SimpleApolloConfigDemo] Loading key : timeout with value: 6666
    • 此处便是我们在 Apollo Portal 中配置的 "timeout" 值。

参考