Files
wiki/concepts/architecture-microservices.md
2026-06-09 18:40:21 +02:00

2.0 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Architecture Microservices 2026-06-06 2026-06-06 concept
tech
architecture
high false
synthesized

🧩 Architecture Microservices

Définition Courte

Style d'architecture qui structure une application comme un ensemble de petits services autonomes, chacun exécutant un processus unique et communiquant via des API légères (souvent HTTP/REST ou gRPC).

Explication Détaillée

Contrairement au monolithe où toute la logique métier est dans un seul codebase, les microservices découpent l'application en services indépendants par domaine métier (auth, paiement, catalogue, etc.). Chaque service :

  • Possède sa propre base de données (Database per Service).
  • Est déployable indépendamment.
  • Communique via des API ou une messagerie asynchrone (Kafka, RabbitMQ, NATS).
  • Tolère la panne d'autres services (degraded mode).

Avantages : scalabilité indépendante de chaque service, isolation des pannes, équipes autonomes, polyglotisme technologique. Inconvénients : complexité opérationnelle accrue, latence réseau, transactions distribuées difficiles, debugging distribué.

Cas d'Usage

  • Applications à fort trafic avec des composants à scalabilités différentes (ex: Netflix, Amazon, Uber).
  • Équipes multiples travaillant en parallèle sur des domaines distincts.
  • Migration progressive d'un monolithe legacy.

Outils Liés

  • Orchestration : Kubernetes, Nomad, Docker Swarm.
  • Service Mesh : Istio, Linkerd.
  • API Gateway : Kong, Traefik, Envoy.
  • Messagerie : Kafka, RabbitMQ, NATS.
  • Observabilité : Prometheus, Jaeger, OpenTelemetry.

Pages Liées

Questions Ouvertes

  • Comment gérer les transactions distribuées sans SAGA ?
  • Quel est le bon découpage en microservices (taille idéale) ?
  • Comment éviter le "distributed monolith" (microservices trop couplés) ?

Liens