开源Sentinel与商业化AHAS流量防护对比

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流控处理逻辑支持在控制台一键配置,支持自定义返回值、返回异常、跳转等行为。
  • 细粒度的权限控制支持。