Java Apollo环境搭建以及集成SpringBoot案例详解


环境搭建
下载Quick Start安装包

C4E03C87-F603-F7DC-1086-402E74E06E2D.png

手动打包Quick Start安装包
  • 修改apollo-configservice, apollo-adminserviceapollo-portalpom.xml,注释掉spring-boot-maven-pluginmaven-assembly-plugin
  • 在根目录下执行mvn clean package -pl apollo-assembly -am -DskipTests=true
  • 复制apollo-assembly/target下的jar包,renameapollo-all-in-one.jar
创建数据库
  • Apollo服务端共需要两个数据库:ApolloPortalDBApolloConfigDB,数据库、表的相关Sql在安装包里,只需要导入数据库即可。直接导入就行。
配置数据库连接信息

-Apollo服务端需要知道如何连接到你前面创建的数据库,所以需要编辑demo.sh,修改ApolloPortalDBApolloConfigDB相关的数据库连接串信息。

注意:填入的用户需要具备对ApolloPortalDB和ApolloConfigDB数据的读写权限。

#apollo config db info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=用户名
apollo_config_db_password=密码(如果没有密码,留空即可)

# apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=用户名
apollo_portal_db_password=密码(如果没有密码,留空即可)

注意:不要修改demo.sh的其它部分

修改默认的apollo端口
# meta server url
config_server_url=http://localhost:6001
admin_server_url=http://localhost:6002
eureka_service_url=$config_server_url/eureka/
portal_url=http://localhost:6003
启动apollo配置中心
  • git bash窗口中运行命令行
./demo.sh start
  • 启动成功界面信息如下:

483CB538-3710-0717-5A21-2BEEEE0DA764.png

  • 如果启动报错,请在相应的日志文件中查看出错原因。
Apollo启动成功
  • 默认8080界面

    0FE311DB-4CE8-A63E-3C91-AE0C5260E624.png

  • 8090 apoolo配置界面

61A5D2F1-1230-622A-7402-17FDE167D7D1.png

登录配置中心、新建服务的相关配置
  • 默认账号密码:
apollo
admin

Apollo 集成 SpringBoot 读取配置文件
概述

Apollo支持API方式和Spring整合方式,该怎么选择用哪一种方式?

  • API方式灵活,功能完备,配置值实时更新(热发布),支持所有Java环境。

  • Spring方式接入简单。 Spring方式也可以结合API方式使用,如注入ApolloConfig对象,就可以照常通过API方式获取配置了:

@ApolloConfig
private Config config; //inject config for namespace application
引入依赖
<dependency>
	<groupId>com.ctrip.framework.apollo</groupId>
	<artifactId>apollo-client</artifactId>
	<version>1.3.0</version>
</dependency>
在配置中心新建配置文件

3E06E41A-97FE-FD85-BF12-0F225560B691.png

配置私有的 app-demo-one-dev 和共有的 app-common-dev
  • app-demo-one-dev私有配置

    6C5889C7-3CDF-4CE0-7E9C-AC4DF5E43C6C.png

  • app-common-dev 共有配置

    C8BA9AA1-B6F7-24E7-CC1C-6CEAAF38FE4D.png

SpringBoot 配置拉去配置文件
  • application.yml
apollo:
  bootstrap:
    eagerLoad:
      enabled: true
    enabled: true
    namespaces: application,TEST1.ConfigOne
  meta: http://localhost:8080
app:
  id: app-demo-one-dev
  • 就是把所有的配置文件换了个地方存着,配置文件可以通过模块化、公有化的方式配置,方便所有服务的配置文件管理。

  • 还是挺简单的,方便开发。

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的
为您推荐
    暂时没有数据