五分钟带你玩转apollo(三)生产环境实战(springboot)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 五分钟带你玩转apollo(三)生产环境实战(springboot)


一、准备工作

1.OS

2.Apollo服务端:1.8+

3. MySQL  5.6.5+

二、安装

本项目只安装了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.调整服务端

调整ApolloPortalDB.serverconfig

image.png

1:使用的环境

2:组织描述

3:服务端地址(Config Service地址 默认端口为8080)

调整ApolloConfigDB.ServerConfig

image.png

3.下载安装包

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

4.更改数据库配置

配置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

配置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

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

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

修改完的效果如下:

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

配置apollo-portal的meta service信息

使用程序员专用编辑器(如vim,notepad++,sublime等)打开apollo-portal-x.x.x-github.zipconfig目录下的apollo-env.properties文件。

修改完的效果如下:

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

5.运行

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

整合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

页面配置

1.新建项目

image.png

image.png

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

2.处理项目的配置项

image.png

image.png

也可以直接输入全部配置项

image.png

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

image.png

对于项目来说 因为配置放入了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;
    }
}

image.png

参考: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


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
存储 Java Maven
Spring Boot WebFlux 增删改查完整实战 demo
Spring Boot WebFlux 增删改查完整实战 demo
|
1月前
|
Java 应用服务中间件 测试技术
深入探索Spring Boot Web应用源码及实战应用
【5月更文挑战第11天】本文将详细解析Spring Boot Web应用的源码架构,并通过一个实际案例,展示如何构建一个基于Spring Boot的Web应用。本文旨在帮助读者更好地理解Spring Boot的内部工作机制,以及如何利用这些机制优化自己的Web应用开发。
52 3
|
1月前
|
安全 Java 开发者
深入理解Spring Boot配置绑定及其实战应用
【4月更文挑战第10天】本文详细探讨了Spring Boot中配置绑定的核心概念,并结合实战示例,展示了如何在项目中有效地使用这些技术来管理和绑定配置属性。
28 1
|
1月前
|
Java 关系型数据库 数据库
Spring Boot多数据源及事务管理:概念与实战
【4月更文挑战第29天】在复杂的企业级应用中,经常需要访问和管理多个数据源。Spring Boot通过灵活的配置和强大的框架支持,可以轻松实现多数据源的整合及事务管理。本篇博客将探讨如何在Spring Boot中配置多数据源,并详细介绍事务管理的策略和实践。
82 3
|
1月前
|
安全 Java 测试技术
Spring Boot集成支付宝支付:概念与实战
【4月更文挑战第29天】在电子商务和在线业务应用中,集成有效且安全的支付解决方案是至关重要的。支付宝作为中国领先的支付服务提供商,其支付功能的集成可以显著提升用户体验。本篇博客将详细介绍如何在Spring Boot应用中集成支付宝支付功能,并提供一个实战示例。
98 2
|
24天前
|
Java 数据库 Spring
springboot 解耦、隔离、异步的原则以及实战
【5月更文挑战第30天】在Spring Boot中实现解耦、隔离和异步的原则,能够提升应用程序的可维护性、可扩展性和性能。下面我会先介绍这三个原则的基本概念和意义,然后通过实战示例展示如何在Spring Boot应用中应用这些原则。
42 1
|
25天前
|
IDE Java Maven
Springboot中Processor注解概念以及实战案例
【5月更文挑战第28天】在Spring Boot中,没有直接名为Processor的注解。不过,你可能是在谈论与Spring Boot相关的注解处理器(Annotation Processors)的概念,尤其是在处理自定义注解或@ConfigurationProperties注解时的情况。
33 1
|
10天前
|
前端开发 Java 测试技术
【SpringBoot】单元测试实战演示及心得分享
【SpringBoot】单元测试实战演示及心得分享
16 0
|
1月前
|
Java 开发者 Spring
springboot DDD的概念以及实战
【5月更文挑战第15天】领域驱动设计(Domain-Driven Design,简称DDD)是一种软件设计方法论,它强调基于业务领域的复杂性来构建软件
88 2
|
1月前
|
开发框架 监控 Java
深入探索Spring Boot的监控、管理和测试功能及实战应用
【5月更文挑战第14天】Spring Boot是一个快速开发框架,提供了一系列的功能模块,包括监控、管理和测试等。本文将深入探讨Spring Boot中监控、管理和测试功能的原理与应用,并提供实际应用场景的示例。
29 2

热门文章

最新文章