ScriptsApr 21, 2026·3 min read

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

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets