Learn How an Open-Source Microservice Component Has Supported Double 11 for the Past 10 Years

Why Do We Need Throttling and Degradation?

Traffic by its very nature is random and unpredictable. This is something we at Alibaba have had to deal with at midnight every year on Double 11.

Sentinel: A Throttling and Circuit Breaking Component Used for Cloud-native Microservices

What is Sentinel: Introduction and Specifications

Sentinel is Alibaba’s open-source throttling component that was developed with distributed service architecture systems in mind. To date, it has earned 11,071 stars on GitHub.

  • Real-time statistics based on a sliding window structure provide excellent performance and ensure statistical accuracy.
  • Highly extensibility, including the extension of basic core capabilities and SPI interfaces, allows you to extend throttling, communication, monitoring, and other features.
  • Diversified throttling policies, such as policies determining resource granularity, call relationships, throttling metrics, and throttling effect, support distributed cluster throttling as well as hot spot traffic detection and prevention.
  • Circuit breaking and isolation are provided for unstable services.
  • Global adaptive protection for system load can adjust the traffic in real time based on system resource usage.

Scenarios and Best Practices

Next, let’s discuss some common scenarios and best practices of Sentinel.

Sentinel’s Open-Source Ecosystem

Sentinel has a rich open-source ecosystem, covering several core ecosystems such as microservices, API gateway, and service mesh.

Multi-language Evolution and Prospects of Sentinel

Sentinel was initially oriented to Java microservices but is constantly exploring extensions for multiple languages. In the middle of last year, Sentinel released a native version for C++. At the same time, it also launched support for Envoy cluster throttling, which can solve the problem of multi-language throttling in service mesh scenarios.

  • Accurately limit QPS at the interface level to prevent core interfaces from crashing.
  • Perform load shifting to handle surging requests in queues.
  • Implement adaptive traffic protection at the system level in combination with system metrics, such as load, and the real-time request volume and response time of services to automatically reject extra traffic. As such, you can ensure service continuity while maximizing throughput.
  • Use real-time seconds-level monitoring to observe the real-time traffic in the system through monitoring logs.

Original Source:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com