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流控处理逻辑支持在控制台一键配置,支持自定义返回值、返回异常、跳转等行为。
- 细粒度的权限控制支持。
文档内容是否对您有帮助?