应用高可用服务(Application High Availability Service)是一款专注于提高应用高可用能力的SaaS产品,包含架构感知、流量防护、故障演练和功能开关四大独立的功能模块。

  • 架构感知
    • 自动感知应用的拓扑结构。
    • 以可视化的方式直观呈现应用对基础架构的依赖关系和组件间的依赖关系。
    • 持续记录上述依赖关系。
  • 流量防护
    • 专业化多样化的限流手段。
    • 实时秒级的监控。
    • 立即生效的规则管理。
  • 故障演练
    • 提供基于真实线上故障的高可用能力演练服务。
    • 根据您的应用架构智能推荐故障演练场景。
  • 功能开关
    • 按照统一的方式定义、管理业务运行时功能切换。
    • 支持定义任意类型的配置项,且自动根据类型做自动拆装,代码层无需关注类型信息,简化运行时配置项使用流程。

架构感知

  • 功能

    服务器、存储、网络是现代云平台的基础设施。随着上云战略的推进,越来越多的大型企业将业务、服务、系统构建在云平台上。开源软件和云服务的多样性,开发语言的异构性,以及企业IT团队的组织和能力差异,都提高了标准化的复杂性。

    在此背景下,架构感知功能应运而生。它会采集和分析操作系统及第三方标准接口,捕捉进程级的调用关系,并使用特征库算法识别进程所使用的技术组件,最后在服务器、容器和进程这三个维度上以可视化的方式展示应用架构。

  • AHAS支持的数据源

    AHAS支持数据源.png
  • 工作流程

    架构感知工作流程

    架构感知.png
    AHAS架构感知的工作流程包括四个步骤:
    1. 数据采集
    2. 关系构建
    3. 特征识别
    4. 架构可视化
  • 界面展现

    架构可视化

    架构可视化.png

流量防护

  • 功能

    在当今日益复杂的应用环境下,应用设计应该遵循“面向失败”的设计原则,对上下游的依赖零信任。借助流量控制、熔断降级模块,您的应用有能力对流量采取限流控制,并对下游依赖进行降级处理。

  • 工作流程

    流量防护模块支持主流的Java框架,包括HTTP和Dubbo。该模块可以实时监控框架的QPS(Queries per Second,每秒查询数)、线程数、响应时间、异常数等指标,并有选择地截断对这些框架的访问,从而保护应用的可用性。此外,利用AHAS提供的SDK,您还可以采取更细粒度的代码级限流降级防护措施。

    流量防护工作流程

    流量防护

故障演练

故障演练是一款遵循混沌工程实验原理并融合了阿里巴巴内部实践的产品,提供丰富故障场景实现,能够帮助分布式系统提升容错性和可恢复性。

  • 流程

    故障演练建立了一套标准的演练流程,包含准备阶段、执行阶段、检查阶段和恢复阶段。通过四阶段的流程,覆盖用户从计划到还原的完整演练过程,并通过可视化的方式清晰的呈现给用户。

    故障演练
  • 适用场景

    故障演练可适用于以下典型场景:

    • 衡量微服务的容错能力。
    • 验证容器编排配置是否合理。
    • 测试PaaS层是否健壮。
    • 验证监控告警的时效性。
    • 定位与解决问题的应急能力。

    更多信息,请参见故障演练概述

功能开关

功能开关是一个轻量级的 运行时动态配置修改 框架,既可用于集中管理各应用的业务开关,也可以管理应用的运行时基础配置。

  • 功能描述
    • 业务开关管理:按照统一的方式定义、管理业务运行时功能切换。
    • 运行时配置管理:支持定义任意类型的配置项,且自动根据类型做自动拆装,代码层无需关注类型信息,简化运行时配置项使用流程。
  • 使用场景
    • 业务开关管理。一个业务经常由多个系统、多个功能模块组成,为保证某些业务的动态性,后端程序通常会用开关来控制程序的逻辑,以达到在系统运行时切换运行逻辑的目的。
    • 运行时配置管理。无需写死的URL、接口名、阈值和读取文件用的编码、黑白名单等,直接使用功能开关即可方便快速创建运行时能覆盖的动态配置。

AHAS使用场景

  • 微服务高可用

    如今,Spring Cloud、Kubernetes的微服务架构对服务的高可用性提出了前所未有的挑战。借助AHAS,您可以在零代码改动的前提下,快速使用SaaS化的高可用服务,包括架构可视化、架构变化追踪、故障演练和流量防护的保护。

    AHAS支持Spring Cloud组件的快速发现、故障演练能力,以及SpringBoot应用的一键流量防护。

    AHAS支持阿里云容器服务Kubernetes应用的快速接入。

  • 传统应用高可用

    由于缺乏高可用能力,对于传统的Java单体应用和分布式应用而言,如何保障稳定性和连续性向来是个难题。

    AHAS提供了应用高可用保障所必需的架构实时展现与追踪、架构高可用性故障演练,以及Java应用零代码改动接入流量防护的能力。即便是已上线的应用,也无需升级改造。此外,对于引入的开源或第三方组件,AHAS可以进行自动化智能评估,并提供优化使用方面的指导。​

相关文档