应用高可用服务AHAS的架构感知功能主要用于采集系统的架构信息,帮助用户了解系统内部的依赖关系、调用链路以及资源分布情况。根据知识库资料,架构感知功能的核心应用场景和扩展用途如下:
1. 核心应用场景
架构感知功能的主要用途是支持以下能力: - 故障演练:通过采集架构信息,识别系统中的关键依赖和潜在风险点,为故障注入和演练提供基础数据支持。 - 流量防护:结合架构感知的数据,分析服务间的调用关系,制定更精准的流量控制和熔断规则,避免因依赖服务不稳定导致的雪崩效应。
2. 其他扩展用途
除了上述核心场景外,架构感知功能还可以在以下场景中发挥作用:
(1)微服务治理
- 在分布式微服务架构中,架构感知可以帮助用户清晰地了解服务间的调用链路和依赖关系。这对于优化服务治理策略(如负载均衡、服务降级)非常有帮助。
- 示例:通过架构感知发现某个服务的调用链路过长,可能存在性能瓶颈,可以针对性地优化链路或引入缓存机制。
(2)资源拓扑可视化
- 架构感知能够生成系统的资源拓扑图,展示云服务(如ECS、VPC、SLB等)之间的关联关系。这有助于运维人员快速定位问题根源。
- 权限说明:为了实现资源拓扑的可视化,AHAS会通过服务关联角色(AliyunServiceRoleForAHAS)获取对ECS、VPC等云服务的访问权限。
(3)容灾能力建设
- 在多活架构(如同城多活、异地双活)的建设过程中,架构感知可以帮助用户识别系统的关键组件和依赖关系,确保流量切换时不会遗漏下游依赖。
- 案例背景:某电商业务在同城多活改造中,通过架构感知发现RPC、MQ调用仍可能访问故障可用区的机器,从而优化了流量路由规则。
(4)安全审计与合规
- 架构感知可以用于安全审计,帮助用户了解系统中是否存在未授权的外部调用或敏感数据流动路径。
- 示例:通过架构感知发现某个服务意外调用了第三方API,可能存在数据泄露风险,可及时采取措施。
(5)容量规划与性能优化
- 借助架构感知提供的调用链路和资源使用数据,用户可以更好地进行容量规划和性能优化。
- 示例:通过分析调用链路的热点路径,识别出高负载的服务节点,针对性地扩容或优化代码逻辑。
3. 重要提醒
- 探针安装必要性:要使用架构感知功能,必须安装AHAS探针(即应用高可用探针)。该探针是一个独立进程,负责采集架构信息。
- 自动升级支持:2018年12月21日及以后安装的AHAS探针支持自动升级;在此之前安装的探针需要手动卸载并重新安装最新版本。
- 跨环境适配:AHAS探针支持多种环境(如阿里云ECS、自建Kubernetes、容器服务ACK),用户需根据实际环境选择合适的安装方式。
综上所述,AHAS架构感知功能不仅适用于故障演练和流量防护,还可以广泛应用于微服务治理、资源拓扑可视化、容灾能力建设、安全审计以及容量规划等多个领域。