在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战。
7月17日,阿里云应用高可用服务AHAS 正式商用,包含架构感知、流控降级和故障演练三大独立的功能模块,可快速提高应用的高可用能力,解决分布式架构下的高可用难题。
在分布式环境下,我们经常会遇到多样的组件和错综复杂的依赖关系,局部故障导致的错误放大,突发流量导致的瞬间拥塞,面对这些难题,我们通常会难以下手。
应用高可用服务AHAS 源自阿里巴巴的全链路压测技术,历经集团多年双十一的技术大考,提供强稳定性的流控降级保护等防护手段。同时,提供了自动感知应用的拓扑结构,可绘制组件间依赖关系和应用对基础架构的依赖,并提供基于真实故障的演练场景来测试应用系统的高可用能力,是混沌工程在云上的最佳实践。
流控降级
该功能是基于阿里巴巴集团自主研发的开源流量控制组件 Sentinel(https://github.com/alibaba/sentinel),提供了Java 应用和网关(Spring Cloud Gateway, Zuul)应用方法级别的限流和降级,适配多种开源框架,支持Agent和SDK两种接入方式,提升应用面对流量洪峰、依赖服务不稳定时的可用性,具有多样化的流量控制、秒级实时监控、极低的性能损耗等特点。
适配多种开源框架,支持Agent和SDK两种接入方式,以流量为切入点,从流量控制、熔断降级、系统保护等多个维度保障服务的稳定性,同时提供强大的秒级监控和历史监控查询功能。
同时,针对基于SpringCloud,Dubbo或K8s的微服务应用,可一键快速接入高可用能力,无需改造代码,无需运维后台服务。
架构感知
应用高可用服务AHAS 提供了自动探测智能识别的功能,通过对操作系统和三方的标准接口进行采集和分析,构建进程级的调用关系,基于特征库算法识别进程使用的技术组件,并通过server、container、process三个维度进行可视化架构展示。
故障演练
通过主动制造故障,应用高可用服务AHAS 可检查应用系统及其各组件在这些故障下的可用性表现,从而验证应用系统的高可用能力,提前暴露故障风险,避免造成严重后果。
据介绍,目前已有中国太平、安利、未来集市等企业已将应用高可用服务AHAS部署至生产环境,以应对突发的流量洪峰导致的应用不稳定。值得注意的是,应用高可用服务AHAS提供的架构感知和故障演练均是免费提供,同时提供了每天每个 Region 5个限流降级节点的免费使用,帮助开发和运维工程师更好的体验一键提升云上应用可用性。