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