Apollo选型及优势介绍

简介: Apollo选型及优势介绍


image.png

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都有解决方案。


相关文章
|
15天前
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,实际使用中常遇到“客户端不发送心跳检测”的问题。本文深入探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务正常运行。通过检查客户端配置、网络连接、日志、版本兼容性、心跳策略、注册状态、重启应用和环境变量等步骤,系统地排查和解决这一问题。
36 3
|
3月前
|
消息中间件 Java RocketMQ
微服务架构师的福音:深度解析Spring Cloud RocketMQ,打造高可靠消息驱动系统的不二之选!
【8月更文挑战第29天】Spring Cloud RocketMQ结合了Spring Cloud生态与RocketMQ消息中间件的优势,简化了RocketMQ在微服务中的集成,使开发者能更专注业务逻辑。通过配置依赖和连接信息,可轻松搭建消息生产和消费流程,支持消息过滤、转换及分布式事务等功能,确保微服务间解耦的同时,提升了系统的稳定性和效率。掌握其应用,有助于构建复杂分布式系统。
67 0
|
3月前
|
移动开发 小程序 前端开发
跨端技术演进问题之Web容器方案在跨端开发中的优势和不足如何解决
跨端技术演进问题之Web容器方案在跨端开发中的优势和不足如何解决
|
5月前
|
存储 消息中间件 Cloud Native
AutoMQ 生态集成 CubeFS
立方体文件系统(CubeFS)是一个云原生存储解决方案,现为CNCF孵化项目,支持S3、POSIX、HDFS等协议,提供多租户、多AZ部署和跨区域复制等功能,适用于大数据、AI、容器平台等场景。要部署AutoMQ集群,需先准备CubeFS集群,启用对象网关,创建用户并配置S3接口,然后创建Bucket。接着,下载AutoMQ二进制包,使用S3 URL生成器配置并启动集群,确保所有主机在同一网络并配置正确端口。启动时,先启动控制器,再启动Broker节点。注意,部署在私有数据中心时,需考虑SSD的可靠性,可能需要RAID配置。
108 4
|
6月前
|
消息中间件 存储 Cloud Native
深度剖析 RocketMQ 5.0,架构解析:云原生架构如何支撑多元化场景?
了解 RocketMQ 5.0 的核心概念和架构概览;然后我们会从集群角度出发,从宏观视角学习 RocketMQ 的管控链路、数据链路、客户端和服务端如何交互;学习 RocketMQ 如何实现数据的存储,数据的高可用,如何利用云原生存储进一步提升竞争力。
141393 3
|
存储 安全 文件存储
私有云系统生态选型与架构整合实战
私有云系统生态选型与架构整合实战
179 0
|
存储 安全 前端开发
轻量级业务福音!TDengine Cloud 在国轩高科储能项目中的应用
TDengine Cloud 按量计费加全托管的企业级服务让我们用非常小的成本便运转了这个项目,并且极大地增加了产品的效率并保留了随时扩张的灵活性。
124 0
|
自然语言处理 Cloud Native Dubbo
Nacos 开源、自研、商业化三位一体 | 学习笔记
快速学习 Nacos 开源、自研、商业化三位一体
470 0
Nacos 开源、自研、商业化三位一体 | 学习笔记
|
自然语言处理 Cloud Native 数据可视化
业界首个!腾讯云原生一站式微服务管理框架 Femas 正式开源
业界首个!腾讯云原生一站式微服务管理框架 Femas 正式开源
273 0
业界首个!腾讯云原生一站式微服务管理框架 Femas 正式开源
|
开发框架 缓存 Java
盘古开发框架简介,工业级微服务开发治理框架
「盘古开发框架」是一套轻量灵活、成熟可靠的工业级分布式微服务开发和治理框架(兼容垂直单体分层架构)。它基于 Apache-2.0 协议开源发布,且是免费的。
922 1
盘古开发框架简介,工业级微服务开发治理框架
下一篇
无影云桌面