Skip to content

Microservices

Collaboration between microservices

  • REST: cool mais synchrone
  • Event messaging: asynchrone mais deserialization, routage, transactions et retry à gérer.

Découper

  • Single responsibility principle: cool mais donne des services trop petits
  • Single source of truth: le microservice est seule source de vérité pour son domaine. la data peut etre ensuite utilisée par d'autres services.
  • Autonomy: critère plus important pour découper. Peut-on déployer séparément ce truc?
  • Conways Law: plus l'équipe est découpée, plus les microservices peuvent etre petits

Merger

  • Trop de couplage entre services: si deux services s'appellent les uns les autres + référencent les mêmes tables, alors il faut peut etre les merger...

Enablers

Pas de microservice si on n'a pas :

  • devops: la flexibilité des microservices nécessite du déploiement / évaluation / collaboration constante entre équipes
  • monitoring: