【K8S运维知识汇总】第6天2:微服务架构之阿菠萝(Apollo)介绍
文章目录Apollo 介绍Apollo 架构简化模型基础模型:Apollo 介绍阿菠萝官网地址:https://github.com/ctripcorp/apolloApollo(阿菠萝)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo支持4个维度管理Key-Value格式的配置:Na
Apollo 介绍
阿菠萝官网地址:https://github.com/ctripcorp/apollo
Apollo(阿菠萝)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo支持4个维度管理Key-Value格式的配置:Namespace(名称空间)、Cluster(集群)、Environment(环境)、Application(应用)。
具体介绍参考:https://github.com/ctripcorp/apollo/wiki
统一管理不同环境(支持有限的环境关键词)、不同集群的配置
• 配置修改实时生效
• 版本发布管理
• 灰度发布
• 权限管理、发布审核、操作审计
• 客户端配置信息监控
• 提供Java和.Net原生客户端,且支持HTTP接口
Apollo 架构
Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端
Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)
Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳
在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口
Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试
Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误重试
为了简化部署,我们实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中,因此必须要先部署 Config Service,否则其它服务交付会出错。
简化模型
基础模型:
如下即是Apollo的基础模型:
用户在配置中心对配置进行修改并发布
配置中心通知Apollo客户端有配置更新
Apollo客户端从配置中心拉取最新的配置、更新本地配置并通知到应用
更多推荐
所有评论(0)