专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Apollo配置中心的详细介绍

Apollo配置中心的详细介绍

更新时间:2022-04-12 09:50:26 来源:赢咖4 浏览1546次

赢咖4小编告诉大家,Apollo是携程Framework部门开发的分布式配置中心。可以集中管理不同环境和集群的配置,修改后实时推送配置到应用。具有标准化的权限和流程治理特性,适用于微服务配置管理场景。服务器基于 Spring Boot 和 Spring Cloud 开发,打包后直接运行,无需额外进行Tomcat安装等应用容器。

Apollo配置中心的详细介绍

Apollo核心概念

1.应用

Apollo 客户端需要在运行时知道当前应用程序是谁,以便它可以检索配置

每个应用程序都需要有一个唯一的身份——appId。我们认为应用程序标识跟随代码,所以需要在代码中进行配置。有关详细信息,请参阅 Java 客户端用户指南。

2.环境(环境)

配置相应的环境。Apollo 客户端在运行时需要知道应用程序在哪个环境中,以便获取应用程序的配置

我们认为环境是独立于代码的,同样的代码部署在不同的环境中应该能够获取到不同环境的配置

所以环境默认是通过读取机器上的配置来指定的(server.properties中的env属性),但是为了开发方便,我们也支持通过System Property等方式指定runtime。详情见Java客户端指南。

3.集群(集群)

比如上海机房的应用实例按照数据中心分组到一个集群,北京机房的应用实例按照数据中心分组到另一个集群。

对于不同的集群,相同的配置可以有不同的值,例如 ZooKeeper 地址。

集群默认通过读取机器上的配置来指定(server.properties中的idc属性),但也可以在运行时通过System Property指定。有关详细信息,请参阅 Java 客户端使用指南。

4.命名空间(命名空间)

命名空间可以比作一个文件,用于对应用程序的不同配置进行分组。不同类型的配置存储在不同的文件中,如数据库配置文件、RPC配置文件、应用程序配置文件

应用程序可以直接读取常用组件的配置命名空间,例如 DAL 和 RPC

应用程序还可以通过继承其配置命名空间来修改公共组件的配置,例如 DAL 的初始数据库连接计数

Apollo功能

1.集中管理不同环境和集群中的配置

Apollo 提供了统一的接口来集中管理不同环境、集群和命名空间的配置。

同一段代码部署在不同的集群中可以有不同的配置,比如zK地址等

命名空间允许多个应用程序共享相同的配置并覆盖共享的配置

配置界面支持多种语言(中英文)

2.配置更改立即生效(热发布)

用户修改配置并发布到 Apollo 后,客户端会实时(1 秒)接收到最新的配置并通知应用。

3.发布管理

所有配置发布都有版本概念,方便配置回滚。

4.灰色发布

支持灰度发布的配置,比如点击发布后,只针对部分应用实例,观察一段时间没问题后,再推送到所有应用实例。

5.权限管理、发布审核、运行审核

应用和配置管理具有完善的权限管理机制。配置管理也分为编辑和发布,以减少人为错误。

所有操作都有审计日志,因此可以轻松跟踪问题。

6.监控客户端配置信息

您可以轻松查看配置正在使用哪些实例

7.提供 Java 和. 网络原生客户端

Java和.Net原生客户端,轻松应用集成

支持 Spring Placeholder、Annotation和 Spring Boot ConfigurationProperties 以便于应用(需要 Spring 3.1.1+)

两者都提供Http接口,非 Java 和。网络应用程序也易于使用

8.提供开放平台api

Apollo本身提供了完善的统一配置管理接口,支持多环境、多数据中心的配置管理、权限、进程管理等特性。

不过为了通用性,Apollo 并没有过多限制配置更改,只要符合基本格式即可。

在我们的调查中,我们发现对于一些用户来说,他们的配置可能有更复杂的格式,比如 XML 和 JSON,格式需要验证。

有些用户,比如DAL,不仅有特定的格式,还需要在保存之前验证输入的值,比如检查数据库、用户名、密码是否匹配。

对于这些应用程序,Apollo 允许应用程序通过开放的接口在 Apollo 修改和发布配置,具有完整的授权和权限控制

9.部署简单

配置中心作为一项基础服务,对可用性的要求非常高,这就要求 Apollo 尽可能少的外部依赖

目前唯一的外部依赖是 MySQL,所以部署非常简单,只需安装 Java 和 MySQL 即可运行 Apollo

Apollo 还提供包脚本,一键生成所有需要的安装包,并支持自定义运行时参数

以上就是关于“Apollo配置中心的详细介绍”,希望对大家的学习能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>