Sentinel是面向分布式服务架构的轻量级流量控制产品,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。AHAS流量防护是开源框架Sentinel的商业化产品,是阿里巴巴双十一技术体系中的核心组件。它在Sentinel的基础上,支持更多的业务功能。本文对比AHAS流量防护与开源Sentinel,并介绍AHAS流量防护的优势。

应用侧

核心能力

功能描述 AHAS流量防护 开源Sentinel
基础的流控降级、系统保护功能 支持 支持
慢SQL识别与熔断 支持 不支持
异常自动重试 支持 不支持
弱依赖接口主动降级 支持 不支持
全自动托管、高可用的集群流控服务 支持 不支持
Nginx及Ingress网关流量控制 支持 不支持
全自动托管的Service Mesh集群防护 支持 不支持
Web、RPC流控处理逻辑一键配置 支持 仅支持硬编码
缓存防护(Redis、Memcached) 支持 不支持
专业的自动化熔断(渐进式熔断恢复、默认熔断规则) 支持 不支持
K8s HPA自动弹性 支持 不支持
PHP或者C++应用高可用防护 支持 不支持

快速接入

功能描述 AHAS流量防护 开源Sentinel
Java Agent方式无侵入快速接入 支持近20种主流框架 不支持
K8s Java应用快速接入 支持近20种主流框架 不支持
PHP、Go应用快速接入 支持 不支持
Nginx、Ingress、Envoy网关快速接入 支持 不支持

运维侧

功能描述 AHAS流量防护 开源Sentinel
控制台实时秒级监控 支持接口和应用维度监控,支持按调用类型分类,支持QPS、RT、CPU usage、Load等指标。 有限的支持(内存存储5分钟)
Top N接口统计 支持 不支持
业务异常监控、详情查询 支持 不支持
历史监控查询 支持 不支持
机器水位热力图 支持 不支持
业务场景流量大盘 支持 不支持
规则实时推送 秒级生效,实时可靠。 HTTP方式推送,不可靠。
规则管理 多重持久化,高可用。 内存存储,不可靠。
针对流控、异常、系统指标飙高等场景的自动化告警 支持 不支持
主子账号权限控制 支持 不支持

AHAS流量防护优势

应用侧

除了支持开源Sentinel的功能,AHAS流量防护还支持以下功能:
  • 异常自动重试,避免业务抖动。
  • 弱依赖接口主动降级。
  • 慢SQL识别与熔断场景(MyBatis,Spring Data JPA,MySQL JDBC,Oracle JDBC)
  • 缓存防护场景(Jedis,Memcached)。
  • 专业的自动化熔断能力:针对通用场景的渐进式熔断恢复策略、默认熔断规则。
  • 全自动托管、高可用的集群流控服务,支持分钟小时级别流控、超大规模流量集群流控。
  • 托管的Service Mesh集群流控服务,支持Envoy、Istio集群快速接入。
  • PHP应用高可用防护支持。
  • K8s容器HPA弹性:支持根据应用实时QPS、RT进行自动扩缩容。
  • PHP和C++应用高可用防护支持。
AHAS流量防护还提供多种快速接入的方式:
  • Java Agent方式和K8s Java应用零侵入快速接入,支持近20种主流框架和API Gateway。
  • K8s Java应用零侵入快速接入,支持近20种主流框架和API Gateway。
  • Nginx、Ingress、Envoy网关快速接入。
  • PHP、Go、C++应用快速接入。

运维侧

AHAS流量防护拥有企业级的控制台,包括以下功能:
  • 可靠的实时监控和历史秒级监控数据查询,包含接口维度的QPS、响应时间、并发量、异常及系统指标监控、JVM监控等指标,支持按照调用类型分层展示,支持同比和环比展示。
  • Top K接口监控统计,快速了解系统的慢调用和大流量接口。
  • 热力图概览,快速定位不稳定的机器。
  • 业务场景流量大盘,便于关注多个系统的整体流量情况。
  • 多种规则管理和实时推送,秒级生效,实时可靠。
  • 告警中心(触发流控、异常、慢调用、CPU利用率高等事件),支持通过钉钉机器人等形式自动触发报警。
  • Web、RPC流控处理逻辑支持在控制台一键配置,支持自定义返回值、返回异常、跳转等行为。
  • 细粒度的权限控制支持。