ACM 无缝支持 Spring 全栈

ACM 产品介绍

应用配置管理 ACM(Application Configuration
Management)前身为淘宝内部配置中心
Diamond,是一款在分布式架构环境中对应用配置进行“集中管理”和“动态推送”的配置中心产品。利用
ACM,您可以在微服务、DevOps、大数据等场景下极大减轻配置管理的工作量,并增强配置管理的服务能力。

核心功能

image

  • 统一管控:您可以在 ACM 的控制台统一管理所有应用的配置,而不再像传统配置那样,分散在各处。
  • 动态推送:当你在 ACM 控制台修改了配置, ACM 能够实时将修改后的配置推送到接入 ACM 服务的应用进程中。
  • 版本管理:ACM 控制台保留配置变更各个历史版本,当前你发现误修改配置后,能够快速得回滚,降低影响面。
  • 灰度发布:有一些配置是相对比较重要,一旦变更,可能会带来很大的影响。通过灰度发布功能,您可以让新配置在少数的几台机器上生效,待观察服务到达预期,并对业务没有负面的影响,之后,再将配置全量发布。
  • 推送轨迹:通过推送轨迹,您可以查到到那些 IP 在什么时间点来拿过配置。当您发布配置后,想看看有哪些机器已经来获取最新配置了,就可以通过它来查看。

ACM 应用场景

场景 1:微服务应用架构下的配置管理

在微服务架构下,随着应用和机器数目的增多,配置(如
DB_URL 访问信息、服务连接池、服务内部缓存大小等)管理的工作会变得很繁琐。单个应用下多个机器的配置分发,应用对应用的配置依赖,都将成为挑战。在传统架构的应用发布过程中,修改一个应用配置就需要将整个应用重新打包发布,整个过程非常繁琐,且容易出错。

image

在基于 ACM 的微服务场景下,应用的重要配置信息被发布到 ACM 中。新的配置发布并不依赖配置打包。在新版本的配置发布后,所有应用立即生效。

image

在微服务应用架构下使用 ACM 带来的好处:

  • 所有配置中心化,在应用众多的情况下配置管理变得更加方便。
  • 所有配置不依赖版本发布,使得配置变更更加灵活。
  • ACM 天生支持灰度发布和回滚,使得配置的变更发布在微服务架构下变得更加安全。

场景 2:分布式架构下的服务治理

在各类分布式架构下,基于某类 RPC 框架(RESTful,HSF,Dubbo 等)做好服务治理是非常关键的。其中,服务治理的服务路由、服务限流、服务降级、服务鉴权等功能,均可通过配置中心实现。

以限流降级为例,在阿里巴巴双11,每一次服务限流降级相关操作都要求秒级响应,此需求就通过
ACM 来实现。其中,每个 RPC 的服务端都会通过 ACM 注册监听对应服务的流控管理信息。

当应用需要流控时,管理员在服务治理控制台做出限流操作,服务治理系统就会通过
ACM 将流控信息推送到对应的目标应用服务端,让应用服务端对应配置采取相应的限流动作。

image

在分布式架构下使用 ACM 带来的好处:

  • 性能良好,通过采用配置推送的方式来监听服务治理信息,对性能几乎无影响。
  • 响应时间迅速,相关的服务治理信息可以被秒级推送。
  • 安全性高,当限流降级错推以后还可以通过秒级配置回滚来恢复状态

场景 3:企业级互联网架构下的异地多活场景

异地多活是企业级互联网架构中的一种高级容灾架构。相对于传统容灾架构,有业务恢复时间短,容量需求低,运维快捷简单等特点。目前异地多活架构被阿里巴巴和饿了么等公司广泛采用。

在阿里巴巴内部,容灾多活架构的核心算法、ID 分片和对应的的路由规则均采用 ACM 来动态推送。其中,相应的客户端和服务端,如 RPC,MQ,DB 都植入了路由路径。当容灾演练或者真实灾难发生时,管理员只需要动态地推送规则,相应的规则会影响到所有架构组件。

image

采用 ACM 为异地多活场景中的应用带来以下好处:

  • 基础架构和容灾逻辑解耦,具体的路由逻辑由容灾规则切换决定。
  • 生效快,理论上容灾的切换规则可以秒级推送到十万级别机器。

ACM 与 Nacos 的关系

Nacos 是阿里中间件今年 7 月开源的产品,包括配置管理、服务管理、动态 DNS 服务、服务元数据管理等功能,其中的 Nacos 配置管理模块是跟 ACM 完全对等的,因此 Nacos 的客户端,包括 nacos-client、 nacos-spring-context 等,只需设置了连接 ACM 服务所需的 endpoint、namespace、access key、secret key,就可以直接访问 ACM 的服务。

两者对比如下:

image

ACM 如何支持 Spring

如上所述,Nacos 的客户端可以直接访问 ACM 服务,ACM 支持 Spring 也就是通过 nacos-spring-context 来支持的。

Nacos Spring 提供的一些注解如下:

image

除了注解外,Nacos Spring 还提供了一些事件,在配置发布、删除等操作时能传播事件出来,方便用户做日志或者审计相关的工作,如下:

image

示例

ACM 如何支持 Spring Boot

Nacos Spring Boot 底下是封装了 Nacos Spring ,因此,上面描述的 Nacos Spring 的注解、功能都可以在引入 Nacos Spring Boot 的依赖 之后直接使用。

另外,Nacos Spring Boot 在 Nacos Spring 的基础上做了 Spring Boot Actuator 服务监控和管理相关的 Endpoint 和 Health Check。

示例

ACM 如何支持 Spring Cloud

Nacos Spring Cloud 是属于 Spring Cloud Alibaba 中的一个子模块,支持从 Spring Cloud Config 平滑迁移过来,相对于 Spring Cloud Config,有更多的优势:

image

示例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 图论 3 1.1 术语 3 1.2 独立集、覆盖集、支配集之间关系 3 1.3 DFS 4 1.3.1 割顶 6 1.3.2 桥 7 1.3.3 强连通分量 7 1.4 最小点基 7 1.5 拓扑排序 7 1.6 欧拉路 8 1.7 哈密顿路(正确?) 9 1.8 Bellman-ford 9 1.9 差分约束系统(用bellman-ford解) 10 1.10 dag最短路径 10 1.11 二分图匹配 11 1.11.1 匈牙利算法 11 1.11.2 KM算法 12 1.12 网络流 15 1.12.1 最大流 15 1.12.2 上下界的网络的最大流 17 1.12.3 上下界的网络的最小流 17 1.12.4 最小费用最大流 18 1.12.5 上下界的网络的最小费用最小流 21 2 数论 21 2.1 最大公约数gcd 21 2.2 最小公倍数lcm 22 2.3 快速幂取模B^LmodP(O(logb)) 22 2.4 Fermat小定理 22 2.5 Rabin-Miller伪素数测试 22 2.6 Pollard-rho 22 2.7 扩展欧几里德算法extended-gcd 24 2.8 欧拉定理 24 2.9 线性同余方程ax≡b(mod n) 24 2.10 中国剩余定理 25 2.11 Discrete Logging(BL == N (mod P)) 26 2.12 N!最后一个不为0的数字 27 2.13 2^14以内的素数 27 3 数据结构 31 3.1 堆(最小堆) 31 3.1.1 删除最小值元素: 31 3.1.2 插入元素和向上调整: 32 3.1.3 堆的建立 32 3.2 并查集 32 3.3 树状数组 33 3.3.1 LOWBIT 33 3.3.2 修改a[p] 33 3.3.3 前缀和A[1]+…+A[p] 34 3.3.4 一个二维树状数组的程序 34 3.4 线段树 35 3.5 字符串 38 3.5.1 字符串哈希 38 3.5.2 KMP算法 40 4 计算几何 41 4.1 直线交点 41 4.2 判断线段相交 41 4.3 三点外接圆圆心 42 4.4 判断点在多边形内 43 4.5 两圆交面积 43 4.6 最小包围圆 44 4.7 经纬度坐标 46 4.8 凸包 46 5 Problem 48 5.1 RMQ-LCA 48 5.1.1 Range Minimum Query(RMQ) 49 5.1.2 Lowest Common Ancestor (LCA) 53 5.1.3 Reduction from LCA to RMQ 56 5.1.4 From RMQ to LCA 57 5.1.5 An<O(N), O(1)> algorithm for the restricted RMQ 60 5.1.6 An AC programme 61 5.2 最长公共子序列LCS 64 5.3 最长上升子序列/最长不下降子序列(LIS) 65 5.3.1 O(n^2) 65 5.3.2 O(nlogn) 66 5.4 Joseph问题 67 5.5 0/1背包问题 68 6 组合数学相关 69 6.1 The Number of the Same BST 69 6.2 排列生成 71 6.3 逆序 72 6.3.1 归并排序求逆序 72 7 数值分析 72 7.1 二分法 72 7.2 迭代法(x=f(x)) 73 7.3 牛顿迭代 74 7.4 数值积分 74 7.5 高斯消元 75 8 其它 77

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值