专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Apollo视频教程,你需要了解的知识

Apollo视频教程,你需要了解的知识

更新时间:2020-11-05 16:09:40 来源:赢咖4 浏览1152次

Apollo是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。


Apollo视频教程


Apollo的特性如下:


统一管理不同环境、不同集群的配置。


Apollo提供了一个统一界面集中式管理不同环境、不同集群、不同命名(namespace)空间的配置,而且同一份代码部署在不同集群,可以有不同的配置。


配置修改实时生效(热发布)


版本发布管理


灰度发布


客户端配置信息监控


可以在界面上方便地看到配置在被哪些实例使用。


提供Java和.Net原生客户端


提供开放平台API


部署简单


可以看到,Apollo的特性几乎符合上文配置中心的核心需求。


Apollo的基本模型


apollo视频教程

我们可以看到,Apollo在配置时的基础流程:


1. 用户现在UI界面修改/发布配置。


2. Apollo配置中心会将配置更新信息推送到Apollo客户端。


3. 客户端再从Apollo配置中心拉取最新配置,更新本地配置之后,通知到应用。


Apollo客户端实现原理


apollo视频教程

客户端和服务端会保持一个长连接,从而第一时间获取配置更新的推送。


1. 客户端还会定时从Apollo配置中心服务端拉取应用的最新配置,而且客户端定时拉取会上报给本地版本,默认每隔5分钟拉取一次,也可以通过运行时指定apollo.refreshInterval来覆盖,单位为分钟。


2. 客户端从Apollo配置中心服务端获取到应用的最新配置后,会保存在内存。


3. 客户端会把从服务端拉取到的配置在本地文件系统缓存一份,保证在遇到服务不可用或网路故障时,依赖能从本地恢复配置,也实现了一定的高可用性。


4. 应用程序从客户端获取到罪行的配置、订阅配置更新通知。


配置更新推送实现


上文提到Apollo客户端和服务端保持了一个长连接,从而可以第一时间获得配置更新的推送,实际上长连接是通过Http Long Polling实现的:


客户端发起Http请求给服务端


服务端保持60s连接


如果在60s中有客户端关心的配置变化,则请求会立即返回,并告知客户端有配置变化的namespace信息,客户端会据此拉取该namespace的最新配置。


如果60s内没有客户端关心的配置变化,则返回http状态码304给客户端。


在服务端,是用async servlet(Spring DeferredResult)来服务Http Long Polling请求。


Apollo总体设计


apollo视频教程


在捋清思路之前,先对其中的模块进行了解:


主要模块:


ConfigService


提供配置获取接口


提供配置推送接口


服务于Apollo客户端


AdminService


提供配置管理接口


提供配置修改发布接口


服务于管理界面Portal


Client


为应用获取配置,支持实时更新


通过MetaServer获取ConfigService的服务列表


使用客户端软负载SLB方式调用ConfigService


Portal


配置管理页面


通过MetaServer获取AdminService的服务列表


使用客户端软负载SLB方式调用AdminService


辅助模块:


Eureka


用于服务发现和注册


Config/AdminService注册实例并定期报心跳


和ConfigService一起部署


MetaServer


Portal通过域名访问MetaServer获取AdminService的地址列表


Client通过域名访问MetaServer获取ConfigService的地址列表


相当于Eureka Proxy


和ConfigService一起部署


NginxLB


和域名系统配合,协助Portal访问MetaServer获取AdminService的地址列表


和域名系统配合,协助Client访问MetaServer获取ConfigService的地址列表


和域名系统配置,协助用户访问Portal进行配置管理。


Apollo视频教程


以上就是赢咖4java培训机构的小编针对“Apollo视频教程,你需要了解的知识”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


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

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