Initial vault setup
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
---
|
||||
title: Architecture Microservices
|
||||
created: 2026-06-06
|
||||
updated: 2026-06-06
|
||||
type: concept
|
||||
tags: [tech, architecture]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [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
|
||||
- [[patterns-architecture]]
|
||||
- [[docker]]
|
||||
- [[traefik]]
|
||||
|
||||
## 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
|
||||
- [[message-queue]]
|
||||
- [[architecture-monolithique]]
|
||||
- [[comparatif-reverse-proxy]]
|
||||
- [[kubernetes]]
|
||||
Reference in New Issue
Block a user