apollo源码阅读1

作者: Oliver_Li | 来源:发表于2021-03-29 12:46 被阅读0次
  1. 目前使用Apollo主要的场景:
  • 统一配置管理:配置中心本身可以集中管理配置,避免在每个项目里都重复写同样的配置,还提供了可视化操作。
  • 配置粒度:Apollo的划分粒度很细,足够满足日常项目要求,app - env - cluster - namespace - config item。
  • 配置热发布:实时修改配置这个功能是除了管理配置之外最实用的功能之一了,很多配置可以动态修改了,例如之前重写springcloud的负载策略,可以实现灰度,动态修改灰度策略,还有很多业务配置都可以热发布。
  • 其他:例如配置灰度下发,权限管理,发布历史,回滚,本地配置缓存,对接入sso、ldap等认证方式接入支持的很好,基本满足日常需求,而且源码容易理解,二次开发相对容易。
  1. 源码模块划分:
  • 先从gitlab上一个部署样例开始说明:
    • ConfigService:负责apollo客户端读取、推送配置
    • AdminService:负责修改、发布配置
    • Meta Server(eureka):ConfigService和AdminService都会注册到这,图上和ConfigService在一起部署
    • Portal:可视化界面,用于控制AdminService
    • ApolloConfigDB:服务于ConfigService和AdminService,主要是存储配置相关。
    • ApolloPortalDB:服务于Portal,主要是存储权限相关。
    • AdminService和ConfigService需要每个环境部署一套,用于管理不同的配置,Portal统一一套,管理不同环境的AdminService即可。


      apollo多环境部署.png

相关文章

网友评论

    本文标题:apollo源码阅读1

    本文链接:https://www.haomeiwen.com/subject/eohphltx.html