Quelle est la différence entre les microservices et les macroservices (dans le développement de logiciels) ? L’un est-il meilleur que l’autre ?


C'est une question intéressante, mais je vais tenter d'y répondre du mieux que je peux.

Lorsque je pense aux microservices, je pense à une API de service web autonome, qui exécute un petit sous-ensemble de tâches nécessaires à une application plus importante. Par exemple, disons que vous avez besoin d'un certain type de processeur de documents qui convertit des documents texte ou word en un PDF. Ce document doit être partagé entre plusieurs applications. Nous pouvons alors écrire un microservice pour accomplir cette tâche pour un nombre spécifique d'applications qui en ont besoin. Remarquez que je n'ai pas dit à l'échelle de l'entreprise, car c'est là que les macro-services entrent en jeu.


Un macro-service serait également une API de service web autonome, où les besoins seraient à l'échelle d'une entreprise. Ce serait un service qui va englober toute une entreprise, et même servir les clients pour un besoin particulier.

Pour décider lequel est le meilleur, cela dépend du besoin. Pour construire des microservices, vous compartimentez la logique, ce qui est bénéfique en soi, si vous l'architecturez correctement. Un macro-service pourrait également utiliser les microservices, en appelant de nombreux microservices, faisant en partie du macro-service un point centralisé de tous les microservices au sein de l'entreprise.