LOG430 — Architecture logicielle
Série de laboratoires du cours d'architecture logicielle à l'ÉTS : une même application de gestion de magasin est réarchitecturée d'un labo à l'autre. Le parcours va d'un monolithe conteneurisé (Docker, CI/CD) vers du client-serveur avec DAO, du CQRS avec persistance polyglotte (PostgreSQL + Redis), des API REST puis GraphQL, du cache et de la répartition de charge (Nginx, tests de charge Locust), de l'observabilité (Prometheus), puis une décomposition en microservices derrière une passerelle d'API, un microservice de paiement isolé, une saga orchestrée avec traçage distribué (Jaeger), de l'architecture événementielle avec Kafka (event sourcing, saga chorégraphiée, patron Outbox) et enfin des bases de données distribuées (YugabyteDB / CockroachDB). Le projet de fin de session, CanTelcoX, regroupe le tout en 5 microservices DDD (une base par service) derrière une passerelle Kong en haute disponibilité, avec cache Redis et observabilité Prometheus/Grafana.
Contexte
Cours d'architecture logicielle à l'ÉTS : une même application de gestion de magasin est réarchitecturée d'un laboratoire à l'autre.
- ▸Du monolithe conteneurisé aux microservices
- ▸API REST puis GraphQL
- ▸Cache, répartition de charge, observabilité
- ▸Saga, Kafka et bases de données distribuées
Le parcours
Chaque labo ajoute une contrainte de production et le système est réarchitecturé en conséquence.
- ▸DAO · CQRS · DDD · persistance polyglotte (PostgreSQL + Redis)
- ▸Passerelle d'API (KrakenD / Kong) · tests de charge (Locust)
- ▸Saga orchestrée + traçage distribué (Jaeger)
- ▸Event sourcing + patron Outbox (Kafka) · YugabyteDB / CockroachDB
Projet de fin — CanTelcoX
Le projet de fin de session regroupe le tout : 5 microservices DDD, une base par service, derrière une passerelle Kong en haute disponibilité.