携程 apollo分布式配置中心学习总结

一、apollo 组成

  adminService:提供配置更新和发布接口,服务于管理界面potal 来更新和获取数据。

  configService:提供配置获取接口和配置推送接口,服务于apollo客户端。

  potal:提供配置管理界面,通过meterService 获取adminService 列表,使用客户端SLB 软负载的方式调用adminService.

  client:为应用获取配置,支持实时刷新,和configService 保持长连接,一旦有配置变更,clent收到configService 推送,刷新jvm缓存。

  Erueka:用于服务发现和注册,和configService一起部署

  meteServer:支持potal获取adminService 地址列表,支持client 获取configService 地址列表,相当于Eureka 的proxy,通常一个环境(dev/pro)部署一个meteServer,帮助potal或client 选取一个Eureka 或一个环境。

  

二、apollo分布式配置原理图说明

   1、client 访问nginx 通过不同域名或端口访问metaServer,然后获取到注册在Eureka 上面的configService  的地址列表,然后通过本地负载均衡方式访问目标configService  获取配置的值,configService 与client 之间保持长连接,configService 也将更新的值推送到client,client再通知应用更新。

  2、用户访问nginx ,通过不通域名或端口代理到不通的potal地址,然后potal再访问nginx 通过不通域名或端口访问metaServer,然后获取到注册再Eureka 上的adminService 地址列表,然后通过本地负载均衡方式访问目标adminService 更新配置的值,更新配置后adminService 通知到configService 做应用配置实时刷新。

三、apollo 通过四个维度管理不通维度的key-value 

  1、namespase 命名空间:一个namespase 相当于一个配置文件,不通的配置有不通的配置文件,也就有多个namespase,默认输入default集群

  2、cluster 集群,一个环境env下有多个集群,代表多个部署,或在不通机房部署,属于不同的公司业务,一个集群下有多个nameSpase,

  3、environment 环境,如开发环境、生产环境、测试环境,不通的环境下有多个集群

  4、project 项目,一个项目代表一个服务,一个服务有多个环境

四、部署及配置

  1、源码下载地址

详细内容可参考

https://blog.csdn.net/zjh_746140129/article/details/86179522

猜你喜欢

转载自www.cnblogs.com/lufei33180/p/12540193.html