Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • une adhérence très faible,
  • la minification du run,
  • la scalabilité des services,
  • une communication basée sur des messages.

Microservice

Leur implémentation est libre. Le formalisme est restreint:

  • au format d'échange
  • à la gestion des canaux d'échanges.

Un microservice possède:

  • son format d'échange
  • sa base de données
  • ses librairies utilitaires.

Toute dépendance vers un élément partagé contredit le principe de couplage faible.


Les services se sollicitent en cascade via Messaging ou REST. Une bonne organisation est alors indispensable.

Les services doivent être classifiés afin d'être gouvernables.

Image Added

Echanges asynchrones

Les échanges asynchrones répondent aux problématiques suivantes:

...

Une comparaison des échanges REST vs Messaging pour les microservices est est ici.

Les patterns d'échanges de cette architecture sont:

Apache Kafka

Le cœur de cette architecture est le gestionnaire de messages. Apache Kafka est  est LA référence pour la mise en oeuvre.

...

Quelques références sur la montée en charge et la performance:

...

Microservice

Leur implémentation est libre. Le formalisme est restreint:

  • au format d'échange
  • à la gestion des canaux d'échanges.

Un microservice possède:

  • son format d'échange
  • sa base de données
  • ses librairies utilitaires.

Toute dépendance vers un élément partagé contredit le principe de couplage faible.

Les services se sollicitent en cascade via Messaging ou REST. Une bonne organisation est alors indispensable.

Les services doivent être classifiés afin d'être gouvernables.

...

Adhérences


AvantagesInconvénients
Interconnexion (lib, protocole, etc)
Le client s'adapte: lib natives spécifiques à utiliser.
Propagation des changements (format et version)Format et versions à gérer en gouvernance.
Run (processus)Pas de process en attente d'un autre.

Haute disponibilité du MOM.

Empilage des messages dans les files.

Exploitation
Gestion et suivi des queues.


Synthèse


AvantagesInconvénients
GouvernanceApproche fonctionnelle.

Grain trop fin au niveau service.

Classifier les services pour abstraire la complexité.

Développement

Périmètre fonctionnel clair et contraint.

Testabilité forte.

Conception logicielle indispensable.

Compétences pluridisciplinaires des développeurs.

ExploitabilitéLes services sont interchangeables et évolutifs.

Très nombreux éléments à surveiller.

Pré-requis:

  • Automatisation: déploiement lourd.
  • Collecte centralisée des logs.
Infrastructure

Infra résiliente aux pannes.

Scalabilité au niveau service.

Nombreux processus.

...