Esta página se muestra en inglés. Una traducción al español está en curso.
ScriptsApr 21, 2026·3 min de lectura

Alibaba Sentinel — Flow Control and Circuit Breaking for Distributed Systems

A guide to Sentinel, the flow control component for microservices that provides real-time traffic shaping, circuit breaking, and adaptive system protection.

Introduction

Sentinel is a flow control and circuit-breaking library developed by Alibaba for protecting distributed service architectures. It provides real-time monitoring, traffic shaping, circuit breaking, and adaptive system protection to keep services stable under high load or partial failures.

What Sentinel Does

  • Enforces flow control rules with QPS limiting, concurrency limiting, and traffic shaping
  • Provides circuit breaking based on slow request ratio, error ratio, or error count thresholds
  • Offers adaptive system protection that adjusts limits based on CPU, load, and inbound QPS
  • Delivers a real-time monitoring dashboard showing per-resource metrics and rule configuration
  • Supports hot parameter flow control to limit traffic on specific argument values

Architecture Overview

Sentinel operates as an in-process library that wraps protected resources (methods, URLs, RPC calls) with slot chains. Each slot chain includes a statistics slot for metrics collection, a flow control slot for rate limiting, a degrade slot for circuit breaking, and a system protection slot. The Dashboard is a separate Spring Boot application that collects metrics from Sentinel clients via HTTP and allows dynamic rule configuration pushed to clients in real time.

Self-Hosting & Configuration

  • Add the Sentinel core dependency or Spring Cloud Alibaba Sentinel starter to your project
  • Deploy the Sentinel Dashboard JAR for visual rule management and monitoring
  • Configure transport settings so your application registers with the dashboard
  • Define flow rules, degrade rules, and system rules via the dashboard UI or programmatically
  • Persist rules to Nacos, ZooKeeper, or Apollo for durability across restarts

Key Features

  • Millisecond-level flow control with QPS, thread count, and warm-up rate-limiting strategies
  • Circuit breaker with half-open recovery and configurable slow-call and error-ratio thresholds
  • Real-time dashboard with per-second metrics, topology graphs, and one-click rule creation
  • Seamless integration with Spring Cloud, Dubbo, gRPC, Servlet, and reactive frameworks
  • Cluster flow control mode for global rate limiting across multiple service instances

Comparison with Similar Tools

  • Resilience4j — Lightweight Java circuit breaker; Sentinel adds flow control, system protection, and a monitoring dashboard
  • Hystrix — Netflix circuit breaker (archived); Sentinel is actively maintained with more protection strategies
  • Envoy rate limiting — Sidecar-based; Sentinel operates in-process with lower latency and richer Java integration
  • Spring Cloud Circuit Breaker — Abstraction layer; Sentinel is a concrete implementation with its own dashboard
  • Polly (.NET) — .NET resilience library; Sentinel is JVM-native with cluster-wide flow control capabilities

FAQ

Q: How does Sentinel differ from Hystrix? A: Sentinel provides flow control, system protection, and a real-time dashboard in addition to circuit breaking. Hystrix is archived and limited to circuit breaking and bulkheading.

Q: Can Sentinel persist rules across restarts? A: Yes. Configure a dynamic rule source like Nacos, ZooKeeper, or Apollo. Without persistence, rules are lost on restart.

Q: Does Sentinel work with non-Spring applications? A: Yes. Sentinel core is framework-agnostic. You can use it with raw Java, Dubbo, Servlet filters, or any JVM application.

Q: What is the performance overhead of Sentinel? A: Sentinel uses efficient sliding window statistics. Overhead is typically under 1ms per resource invocation in benchmarks.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados