【Apollo】01-Apollo简介与安装
Apollo简介与安装
配置中心:将配置文件中的配置文件信息,存放在配置中心中。若项目使用微服务,服务众多,每一个配置信息都填写在配置文件中,不利于我们对于配置信息的管理。配置中心就是统一管理各种应用配置的基础服务组件。
集中管理配置,将所有的配置信息从项目中抽离出来,使用配置中心进行管理。
- 配置容易读取和修改;
- 添加新配置简单直接;
- 支持对配置的修改的检视以把控风险;
- 支持查看配置的历史修改记录;
- 不同部署环境支持隔离。
简介
主流的配置中心
- DisConf(不在维护)
- Spring Cloud Config
- Apollo
- Nacos
配置中心功能对比
功能点 | Spring Cloud Config | Apollo | Nacos |
---|---|---|---|
配置实时推送 | 支持(Spring Cloud Bus) | 支持(HTTP长轮询1s内) | 支持(HTTP长轮询1s内) |
版本管理 | 支持 | 支持 | 支持 |
配置回滚 | 支持 | 支持 | 支持 |
灰度发布 | 支持 | 支持 | 不支持 |
权限管理 | 支持 | 支持 | 不支持 |
多集群 | 支持 | 支持 | 支持 |
多环境 | 支持 | 支持 | 支持 |
监听查询 | 支持 | 支持 | 支持 |
多语言 | 只支持Java | 主流语言,提供了Open API | 主流语言,提供了Open API |
配置格式校验 | 不支持 | 支持 | 支持 |
单机读(QPS) | 7(限流所致) | 9000 | 15000 |
单机写(QPS) | 5(限流所致) | 1100 | 1800 |
3节点读(QPS) | 21(限流所致) | 27000 | 45000 |
3节点写(QPS) | 5(限流所致) | 3300 | 5600 |
Apollo 简介
Apollo(阿波罗)是携程提供的分布式配置中心,能够集成管理应用的不同环境、不同集群的配置,配置修改后能够实时的推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
Apollo包括服务端和客户端两个部分:
服务端:基于Spring Cloud和Spring Boot开发,打包后可以直接运行,不需要额外安装Tomcat等容器。
客户端:Java客户端不需要依赖于任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。
Apollo 特性
- 统一管理配置
- Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。
- 同一份代码部署在不同的集群,可以有不同的配置,比如zk的地址等。
- 通过命名空间(namespace)可以很方便的支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆盖。
- 配置修改实时生效(热发布)
- 用户在Apollo修改完配置并发布后,Apollo客户端能实时(1秒)接收到最新的配置,并通知到应用程序。
- 版本发布管理
- 所有的配置发布都有版本概念,从而可以方便的支持配置的回滚。
- 客户端配置信息监控
- 可以方便的看到配置在被哪些实例使用。
- 便于集成
- 支持Spring Placeholder,Annotation和Spring Boot的ConfigurationProperties,方便应用使用。
Apollo 核心概念
从上到下属于包含关系
- Application应用:AppId
- Environment环境:Env
- Cluster集群:cluster
- namespace命名空间:namespace,一个namespace相当于一个配置文件,可以被多个服务所使用。
Apollo 三个服务
- Apollo Config Service:提供配置的读取、推送等功能,服务对象是 Apollo 客户端。
- Apollo Admin Service:提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)。
- Apollo Portal: Apollo 的管理界面,配置项管理,服务对象是开发者和 开放平台 API。
执行流程
- Apollo客户端和Apollo服务端保持长连接,从而能第一时间获得配置更新的推送
- Apollo客户端会定时从Apollo服务端拉取应用的最新配置
- fallback机制,防止推送机制失效导致配置不更新
- Apollo客户端定时拉取上报本地版本,所以一般情况下,对于定时拉取的操作,服务端会返回304-Not Modified
- 拉取频率默认为5分钟/次,客户端可以指定
- Apollo客户端从Apollo服务端获取到应用的最新配置后,会保存在内存中
- 客户端会把从服务端获取到的配置在本地文件系统缓存一份
- 在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置
- 应用程序从Apollo客户端获取最新的配置、订阅配置更新通知
Apollo 安装与配置
Windows安装
下载压缩包
下载地址,提供了三种下载方式
解压,数据库配置
找到文件夹下的sql文件夹,打开,在MySQL中运行
数据库中运行sql文件
修改启动配置
修改
demo.sh
中的数据库连接信息启动
通过git bash来启动,输入./demo.sh start
即可启动Apollo管理界面
localhost:8070
Apollo注册中心
localhost:8080
注意
配置Java的环境变量
JAVA_HOME
时,其路径不得包含空格,否则会找不到Java的路径。
Apollo系统管理
用户权限管理
我没用过….当时忘记写了..有机会的话…补上
多半是没机会了
参考
- 文档 Apollo
- 哔哩哔哩 Apollo分布式配置中心实战(轻松入门,快速上手
- 知乎 配置中心 & Apollo基本使用
-------------本文结束感谢您的阅读-------------
相关文章