Apollo生产环境整合springboot

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Apollo生产环境整合springboot


image.png

1.准备工作

  1. OS
  2. Apollo服务端:1.8+
  3. MySQL 5.6.5+

2.安装

本项目只安装了pro环境。

1.创建数据库

导入sql ,地址如下。

https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql

2.调整服务端

1.调整ApolloPortalDB.serverconfig表

image.png

  1. 使用的环境
  2. 组织描述
  3. 服务端地址(Config Service地址 默认端口为8080)

2.调整ApolloConfigDB.ServerConfig

image.png

3.下载安装包

获取apollo-configservice、apollo-adminservice、apollo-portal安装包 地址:https://github.com/ctripcorp/apollo/releases

4.更改数据库配置

1.配置apollo-configservice

用程序员专用编辑器(如vim,notepad++,sublime等)打开config目录下的application-github.properties文件,修改完的效果如下:

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

2.配置apollo-adminservice的数据库连接信息

用程序员专用编辑器(如vim,notepad++,sublime等)打开config目录下的application-github.properties文件,修改完的效果如下:

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

3.配置apollo-portal的数据库连接信息

用程序员专用编辑器(如vim,notepad++,sublime等)打开config目录下的application-github.properties文件,修改完的效果如下:

local.meta=http://localhost:8080
#dev.meta=http://fill-in-dev-meta-server:8080
#fat.meta=http://fill-in-fat-meta-server:8080
#uat.meta=http://fill-in-uat-meta-server:8080
#lpt.meta=${lpt_meta}
pro.meta=http://localhost:8080
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd

4.配置apollo-portal的meta service信息

使用程序员专用编辑器(如vim,notepad++,sublime等)打开apollo-portal-x.x.x-github.zip中config目录下的apollo-env.properties文件。修改完的效果如下:

local.meta=http://localhost:8080
pro.meta=http://localhost:8080

5.运行

导入服务器运行scripts/startup.sh

6.整合spring boot

1.修改pom文件

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

2.修改application配置

app:
  id: 项目名称
apollo:
  meta: http://127.0.0.1:8080(admin server 端口默认8080)
  bootstrap:
    enabled: true
    eagerLoad:
      enabled: true

3.SpringBootApplication加入注解

@EnableApolloConfig

6.页面配置

1.新建项目

image.png

image.png

红圈处为上面配置的组织名。

2.处理项目的配置项

image.png

image.png也可以直接输入全部配置项。

image.png

更改配置之后需要点击发布,否则不会更改。

image.png

7.验证

对于项目来说,因为配置放入了applicationcontent中,所以需要重启才能生效,但是通过以下代码不重启就能体现出生效。

@RestController
public class HelloController {
    @Value("${server.port}")
    String port;
    @GetMapping("hi")
    public String hi(String name) {
        return "hi " + name + " ,i am from port:" + port;
    }
}

参考:https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97#2-apolloportalmetaservers—%E5%90%84%E7%8E%AF%E5%A2%83meta-service%E5%88%97%E8%A1%A8


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
Java 开发工具 git
spring boot 集成 ctrip apollo 实现动态配置更新
spring boot 集成 ctrip apollo 实现动态配置更新
124 1
|
Java Linux Maven
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
306 0
|
5月前
|
Java 测试技术 数据库
【单文件版本】java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境
【单文件版本】java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境
46 0
|
5月前
|
Java 测试技术 数据库
java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境【多文件版本】
java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境【多文件版本】
70 0
|
6月前
|
Java Maven Docker
SpringBoot项目打包部署到阿里云服务器、通过Maven插件制作Docker镜像、部署项目容器、配置生产环境
SpringBoot项目打包部署到阿里云服务器、通过Maven插件制作Docker镜像、部署项目容器、配置生产环境
665 0
|
Java 数据库连接 数据库
【Apollo】(3)---SpringBoot整合Apollo
【Apollo】(3)---SpringBoot整合Apollo
726 0
|
缓存 Kubernetes Java
SpringBoot 集成 Apollo 配置中心,一文搞定!(万字长文)
由于 Apollo 概念比较多,刚开始使用比较复杂,最好先过一遍概念再动手实践尝试使用。 1、背景 随着程序功能的日益复杂,程序的配置日益增多,各种功能的开关、参数的配置、服务器的地址……对程序配置的期望值也越来越高,配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。因此 Apollo 配置中心应运而生!
|
Java
springboot集成apollo,无法拉取配置
springboot集成apollo,无法拉取配置
950 0
springboot集成apollo,无法拉取配置
|
缓存 Java 应用服务中间件
Apollo:服务端搭建、和SpringBoot集成
Apollo:服务端搭建、和SpringBoot集成
515 0
|
缓存 Kubernetes Java
Spring Boot 集成 Apollo 配置中心,真香、真强大!
由于 Apollo 概念比较多,刚开始使用比较复杂,最好先过一遍概念再动手实践尝试使用。
862 0
Spring Boot 集成 Apollo 配置中心,真香、真强大!