Microservices Communication Patterns (Saga, Circuit Breaker) · Leçon

Configuration des instances de coupe-circuit

Configurez concrètement des instances de coupe-circuit en définissant des paramètres tels que les seuils d’erreur et les politiques de réinitialisation.

Leçon 2 sur 411 étapes

Configuration des instances de coupe-circuit est une leçon Microservices Communication Patterns (Saga, Circuit Breaker) gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Microservices Communication Patterns (Saga, Circuit Breaker), et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Microservices Communication Patterns (Saga, Circuit Breaker) comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Circuit Breaker Configuration Intro

Welcome to configuring Circuit Breaker instances! In the previous lesson, we learned why resilience matters and how retry patterns work.

Now, let's dive into setting up a circuit breaker. Proper configuration is key to making it work effectively for your services.

Why Configure Circuit Breakers?

Think of configuration as setting the 'rules' for your circuit breaker. These rules determine:

  • When to open the circuit (how many failures?)
  • How long to keep it open (how long to wait before trying again?)
  • How to test if the service has recovered (how many test requests?)

Without these rules, the circuit breaker can't protect your system effectively.

Key Configuration Parameters

When setting up a circuit breaker, you'll typically encounter a few core parameters:

  • Failure Rate Threshold: Percentage of failures to open the circuit.
  • Sliding Window: How recent calls are tracked.
  • Minimum Number of Calls: Calls needed before failure rate is checked.
  • Wait Duration in Open State (Reset Timeout): How long the circuit stays open.

Let's look at these in detail.

Failure Rate Threshold

The Failure Rate Threshold is a percentage. If the percentage of failed calls within a specific window exceeds this threshold, the circuit breaker trips and opens.

For example, if set to 50%, and 6 out of 10 recent calls fail, the circuit opens. This prevents overwhelming a struggling service with more requests.

Sliding Window: Count-Based

The Sliding Window tracks recent calls to calculate the failure rate. There are two main types.

A Count-Based Sliding Window tracks a fixed number of recent calls. For instance, if set to 100, it only considers the last 100 requests to determine the failure rate.

Sliding Window: Time-Based

A Time-Based Sliding Window tracks calls within a specific time duration, like the last 60 seconds.

This means old calls eventually 'fall out' of the window, and only calls within the defined time frame contribute to the failure rate calculation. This is often preferred for dynamic traffic patterns.

Minimum Number of Calls

The Minimum Number of Calls parameter prevents the circuit from opening too quickly based on too few requests.

If set to 10, the circuit breaker won't even start checking the failure rate threshold until at least 10 calls have been made. This avoids false positives during low traffic periods.

Wait Duration in Open State

The Wait Duration in Open State (also called Reset Timeout) specifies how long the circuit remains in the 'Open' state before transitioning to 'Half-Open'.

This pause gives the failing service time to recover without being hit by more requests. Once this duration passes, a few 'test' requests are allowed through.

Configuring in Practice (Java Example)

Here's a conceptual Java example using a library like Resilience4j to configure a circuit breaker. Notice how parameters like failure rate and wait duration are set.

import io.github.resilience4j.circuitbreaker.CircuitBreaker;
import io.github.resilience4j.circuitbreaker.CircuitBreakerConfig;
import java.time.Duration;

public class CircuitBreakerConfigDemo {

  public static void main(String[] args) {
    CircuitBreakerConfig config = CircuitBreakerConfig.custom()
        .failureRateThreshold(50) // 50% failure rate to open
        .waitDurationInOpenState(Duration.ofSeconds(10)) // Stay open for 10s
        .slidingWindowType(CircuitBreakerConfig.SlidingWindowType.COUNT_BASED) // Count-based
        .slidingWindowSize(10) // Window of 10 calls
        .minimumNumberOfCalls(5) // Need at least 5 calls to start checking
        .build();

    CircuitBreaker circuitBreaker = CircuitBreaker.of("myService", config);

    System.out.println("Circuit Breaker configured for 'myService'");
    System.out.println("Failure Rate Threshold: " + config.getFailureRateThreshold() + "%");
    System.out.println("Wait Duration (Open State): " + config.getWaitDurationInOpenState().getSeconds() + "s");
  }
}

Quick Check: Circuit Breaker Config

Imagine a circuit breaker is configured with:

  • Failure Rate Threshold: 60%
  • Sliding Window Size: 10 (count-based)
  • Minimum Number of Calls: 5
  • Wait Duration in Open State: 30 seconds

If 4 out of the last 6 calls fail, what is the *immediate* state of the circuit breaker?

Recap: Configuring Circuit Breakers

Great job! Today, we explored the essential parameters for configuring circuit breaker instances:

  • Failure Rate Threshold: The percentage of failures that open the circuit.
  • Sliding Window: How calls are tracked (count or time-based).
  • Minimum Number of Calls: Prevents premature opening.
  • Wait Duration in Open State: How long the circuit stays open before attempting recovery.

Understanding and setting these parameters correctly is crucial for effective fault tolerance in your microservices!

Gratuit pour commencer

Apprends Microservices Communication Patterns (Saga, Circuit Breaker) avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Configuration des instances de coupe-circuit » est-elle gratuite ?

Oui — le texte complet de « Configuration des instances de coupe-circuit » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Microservices Communication Patterns (Saga, Circuit Breaker), passe à CoddyKit PRO. Le cours Microservices Communication Patterns (Saga, Circuit Breaker) comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Configuration des instances de coupe-circuit » ?

Configurez concrètement des instances de coupe-circuit en définissant des paramètres tels que les seuils d’erreur et les politiques de réinitialisation. Tu pratiques Microservices Communication Patterns (Saga, Circuit Breaker) avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Microservices Communication Patterns (Saga, Circuit Breaker) ?

Aucune expérience préalable n'est requise. Microservices Communication Patterns (Saga, Circuit Breaker) sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Configuration des instances de coupe-circuit » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Microservices Communication Patterns (Saga, Circuit Breaker) ?

Oui. Chaque leçon Microservices Communication Patterns (Saga, Circuit Breaker) inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Choix d’une bibliothèque de coupe-circuit
  2. Configuration des instances de coupe-circuit
  3. Intégration aux appels de services
  4. Ajouter des replis aux disjoncteurs
← Retour à Microservices Communication Patterns (Saga, Circuit Breaker)