写点什么

Apollo 选型及优势介绍

作者:小黄鸡1992
  • 2021 年 11 月 17 日
  • 本文字数:1554 字

    阅读完需:约 5 分钟

Apollo选型及优势介绍

1.白话什么是 Apollo

相当于微服务中的配置中心,如 nacos 等,可以将 springboot 中 yml 文件统一管理起来,且大部分配置修改后可以直接生效。


相比于 nacos,Apollo 更加的重量级,功能也更加强大(相对的也更加复杂)。Apollo 提供了丰富的权限设定,环境配置。


在选择时,如果您只需要简单的管理配置,并不需要多环境,没有多部门多用户协作,也不需要用户权限,只是小厂,请无脑选择 nacos,否则请选择 Apollo。

2.Apollo 的优势

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

Apollo 提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。

2.权限管理、发布审核、操作审计

应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。

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

用户在 Apollo 修改完配置并发布后,客户端能实时(1 秒)接收到最新的配置,并通知到应用程序。

4.版本发布管理

所有的配置发布都有版本概念,从而可以方便的支持配置的回滚。

5.灰度发布

支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例。

6.客户端配置信息监控

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

7.功能强大

支持缓存,支持邮件模板。在配置发布时候,可以发布信息邮件通知到相关的负责人。#

8.部署简单

配置中心作为基础服务,可用性要求非常高,这就要求 Apollo 对外部依赖尽可能地少


目前唯一的外部依赖是 MySQL,所以部署非常简单,只要安装好 Java 和 MySQL 就可以让 Apollo 跑起来


Apollo 还提供了打包脚本,一键就可以生成所有需要的安装包,并且支持自定义运行时参数

3.用途实例

项目地址:GitHub - apolloconfig/apollo-use-cases: 展示 Apollo 配置中心的各种使用场景和示例代码,欢迎大家把日常工作中的更多配置使用案例分享出来!


展示 Apollo 配置中心的各种使用场景和示例代码,目前包含了以下示例项目:


  1. spring-boot-logger:演示 Spring Boot Logging 如何通过 Apollo 配置中心实现动态调整 Logging Level

  2. spring-cloud-logger:演示 Spring Boot Logging 在 Spring Cloud 环境下如何通过 Apollo 配置中心方便地实现动态调整 Logging Level

  3. spring-cloud-zuul:演示 Spring Cloud Zuul 如何通过 Apollo 配置中心实现动态路由

  4. spring-cloud-zuul-ratelimit:演示 Spring Cloud Zuul 的第三方限流插件

  5. marcosbarbero/spring-cloud-zuul-ratelimit 如何通过 Apollo 配置中心实现动态限流

  6. spring-cloud-gateway:演示 Spring Cloud Gateway 如何通过 Apollo 配置中心实现动态路由

  7. spring-boot-encrypt:演示如何结合 jasypt-spring-boot 实现 Apollo 中存储加密配置

  8. dynamic-datasource:演示 Spring Boot 默认的 HikariCP DataSource 如何通过 Apollo 配置中心实现动态切换数据源(其它类型的 DataSource 也是类似的,可以依样画葫芦)

  9. dubbo: 演示 Dubbo 如何通过 Apollo 配置中心实现中心化配置

  10. spring-boot-dubbo: 演示 Dubbo Spring Boot Starter 如何通过 Apollo 配置中心实现中心化配置该项目同时也演示了如何通过 apollo 管理 logback 的配置,详见 logback-spring.xml

  11. netflix-archaius: 演示 Netflix Archaius 如何使用 Apollo 配置中心作为其服务端使用

  12. sentinel: 演示 Sentinel 如何通过 Apollo 配置中心实现中心化流控规则配置

  13. properties-keeper: 演示如何通过 apollo 管理启动前需要加载的 properties 文件配置

  14. spring-boot-agent: 演示如何通过 java agent 探针技术实现应用无缝接入 Apollo 配置中心与 spring cloud config 优势

4.项目的可用性考虑

需要的场景:


  1. 提供统一的管理配置的接口,且提供可视化界面。

  2. 支持热部署,更改立刻生效。

  3. 支持集群。

  4. 不停机更新。(动态更改路由)

  5. 优秀的性能。见以上性能报告

  6. 日志记录与回滚功能。(防止实施人员扯皮)

  7. 代码开源 如需要可以定制开发 (成本较大)


以上需求 Apollo 都有解决方案。

用户头像

小黄鸡1992

关注

小黄鸡加油 2021.07.13 加入

一位技术落地与应用的博主,带你从入门,了解和使用各项顶流开源项目。

评论

发布
暂无评论
Apollo选型及优势介绍