Apoll配置中心.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Apollo配置中心 资料来源: HYPERLINK /ctripcorp/apollo /ctripcorp/apollo 更多资料请参考: HYPERLINK /lepdou/apollo /lepdou/apollo 设计 一 总体设计 1 基础模型 2 架构模块 3 各模块概要介绍 1 Config Service 提供配置获取接口 提供配置更新推送接口(基于Http long polling) 服务端使用 HYPERLINK http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/context/request/async/DeferredResult.html Spring DeferredResult实现异步化,从而大大增加长连接数量 目前使用的tomcat embed默认配置是最多10000个连接(可以调整),使用了4C8G的虚拟机实测可以支撑10000个连接,所以满足需求(一个应用实例只会发起一个长连接)。 接口服务对象为Apollo客户端 2 Admin Service 提供配置管理接口 提供配置修改、发布等接口 接口服务对象为Portal 3 Meta Server Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port) Client通过域名访问Meta Server获取Config Service服务列表(IP+Port) Meta Server从Eureka获取Config Service和Admin Service的服务信息,相当于是一个Eureka Client 增设一个Meta Server的角色主要是为了封装服务发现的细节,对Portal和Client而言,永远通过一个Http接口获取Admin Service和Config Service的服务信息,而不需要关心背后实际的服务注册和发现组件 Meta Server只是一个逻辑角色,在部署时和Config Service是在一个JVM进程中的 4 Eureka 基于 HYPERLINK /Netflix/eureka Eureka和 HYPERLINK https://cloud.spring.io/spring-cloud-netflix/ Spring Cloud Netflix提供服务注册和发现 Config Service和Admin Service会向Eureka注册服务,并保持心跳 为了简单起见,目前Eureka在部署时和Config Service是在一个JVM进程中的(通过Spring Cloud Netflix) 5 Portal 提供Web界面供用户管理配置 通过Meta Server获取Admin Service服务列表(IP+Port),通过IP+Port访问服务 在Portal侧做load balance、错误重试 6 Client Apollo提供的客户端程序,为应用提供配置获取、实时更新等功能 通过Meta Server获取Config Service服务列表(IP+Port),通过IP+Port访问服务 在Client侧做load balance、错误重试 二、服务端设计 1 配置发布后的实时推送设计 在配置中心中,一个重要的功能就是配置发布后实时推送到客户端。下面我们简要看一下这块是怎么设计实现的。 上图简要描述了配置发布的大致过程: 用户在Portal操作配置发布 Portal调用Admin Service的接口操作发布 Admin Service发布配置后,发送ReleaseMessage给各个Config Service Config Service收到ReleaseMessage后,通知对应的客户端 2 发送ReleaseMessage的实现方式 Admin Service在配置发布后,需要通知所有的Config Service有配置发布,从而Config Service可以通知对应的客户端来拉取必威体育精装版的配置。 从概念上来看,这是一个典型的消息使用场景,Admin Service作为producer发出消息,各个Config Service作为consumer消费消息。通过一个消息组件(Message Queue)就能很好的实现Admin Service和Config Service的解耦。 在实现上,考虑到Apollo的实际使用场景,以及为了尽可能减少外部依赖,我们没有采用外部的消息中间件,而是通过数据库实现了一个简单的消息队列。 实现方式如下: Admin Service在配置发布后会往ReleaseMessage表插入一条消息记录,消息内容就是配置

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档