java阿波罗入门介绍_十分钟入门Apollo

本文介绍了分布式配置中心Apollo的背景和主要组件,包括Disconf、SpringCloudConfig和Apollo。重点讲解了Apollo的特性及快速入门步骤,如配置数据库、启动服务、添加配置和客户端使用。此外,还概述了Apollo的核心概念:应用、环境、集群和命名空间,并提供了SpringBoot整合Apollo的配置和注解使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Apollo简介

1.1 主流配置中心

Disconf

2014年百度开源的配置中心,目前已不再维护

Spring Cloud Config

2014年9月开源,是SpringCloud生态中的一员

Apollo

2016年携程开源的配置管理中心,能够集中化管理不同环境、不同集群的配置,配置修改后能实时推送到应用端,并且具备权限管理的特性

Nacos

2018年阿里开源,还可以做DNS和RPC的服务发现.

3830614608763fb82e522d7629a877d9.png

1.2 简介

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。

二、快速入门

执行sql脚本

通过百度网盘下载,

提取码: 9wwe

2. 修改demo.sh

修改里面的数据库连接配置

仅修改如下部分即可.

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 start

我的电脑启动慢,所以我修改了demo.sh的等待时间将下面的24改成了60

如下:

function checkServerAlive {

declare -i counter=0

declare -i max_counter=24 # 24*5=120s

declare -i total_time=0

启动成功后访问http://localhost:8070

8c0c9a4cf2e6e65cdc3b60d536ba944b.png

上面框住的是三个重要参数.环境、appid、namespace

新增配置操作:

先点击新增配置,然后发布即可.

编写客户端

新建一个项目,引入依赖

com.ctrip.framework.apollo

apollo-client

1.1.0

org.slf4j

slf4j-simple

1.7.28

编写代码:

public class ConfigTest {

public static void main(String[] args) {

Config appConfig = ConfigService.getAppConfig();

String property = appConfig.getProperty("test", null);

System.out.println("获取到值:"+property);

}

}

运行时vm参数:

-Dapp.id=SampleApp -Denv=DEV -Ddev_meta=http://localhost:8080

集群的指定

-Dapollo.cluster=shanghai

三、核心概念

4a937491622d866e15b2e0bf498d176d.png

3.1 application(应用)

实际使用配置的应用

3.2 environment(环境)

应用里面包含多个环境

3.3 cluster(集群)

一个应用一个环境可能有多个集群.比如test应用的生产环境有北京集群和上海集群,那么他不同集群的配置也会不一样.

3.4 namespace(命名空间)

用于做一个分组的概念

四、常用操作

4.1 添加部门

管理员工具-》系统参数-》在key的输入框输入organizations,然后点击查询-》修改value值

后略

五、SpringBoot整合Apollo

5.1 引入依赖

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.1.7.RELEASE

com.mmc

apollo-quickstart

1.0-SNAPSHOT

8

8

com.ctrip.framework.apollo

apollo-client

1.1.0

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-log4j2

5.2 配置文件

application.properties

app.id=account-service

apollo.bootstrap.enabled=true

#多个以逗号分隔

apollo.bootstrap.namespaces=application

apollo-env.properties

dev.meta=http://localhost:8080

5.3 启用Apollo注解

@SpringBootApplication

@EnableApolloConfig

public class Application {

public static void main(String[] args) {

SpringApplication.run(Application.class);

}

}

5.4 启动时增加VM指令

-Denv=DEV -Dapollo.cacheDir=/opt/dir -Dapollo.cluster=DEFAULT

5.5 测试

@RestController

public class TestController {

@Value("${myname}")

private String myname;

@RequestMapping("/test")

public String test(){

return myname;

}

}

另外像spring的基本配置,如server.port,当我们在apollo里面配置了这个key值,那么启动项目时配置会直接生效.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值