Modèle de microservice: pourquoi vous en avez besoin et comment l'implémenter en développement

Aujourd'hui, nous allons nous concentrer sur les modèles qui permettent à nos équipes de créer de nouveaux microservices en quelques minutes. Nous vous expliquerons comment cela fonctionne et pourquoi cette histoire ne concerne pas seulement l'automatisation du travail manuel, mais aussi l'efficacité du développement en tant que tel.





De nombreux développeurs utilisent des modèles sous une forme ou une autre. Le plus souvent, ils copient le code d'anciens projets pour gagner du temps. De notre point de vue, cette pratique présente plusieurs inconvénients à la fois:





1. Vous pouvez choisir un microservice infructueux pour la copie - avec des éléments manquants, des paramètres incorrects, etc.





2. Si les développeurs ne disposent pas d'un benchmark, le risque d'erreurs supplémentaires augmente. Cela signifie que quelqu'un devra passer plus de temps pour les réparer.





3. Il existe toujours un risque d'oublier des éléments importants, de ne pas remarquer un pipeline manquant, d'utiliser une ancienne version de la bibliothèque, de spécifier des paramètres d'autorisation ou de journalisation incorrects.





En général, si une opération est répétée de temps en temps, elle vaut déjà la peine d'être automatisée. Mais le gain de temps est loin d'être le principal avantage de la mise en œuvre d'un modèle.





Ce que fait le modèle de microservice

Un modèle de microservice est un élément constitutif d'un produit logiciel, un élément constitutif qui peut être réutilisé d'un projet à l'autre.





– , , ( ). , .





, :





  • . - .





  • , time-to-market. , .





  • Production Ready. , , Feature Flags, .





  • . «» – , , , . .





  • , , .. , , – .





  • - , . , – . .









  1. Rest API, , ,

















    • (CI/CD)





    • , Observability, , , health check monitoring





  2. , : Git , Jenkins/Gitlab.





.Net

Microsoft Visual Studio :





  • Web API Project - -, HTTP-.





  • Data base project – .





  • HTTP Service client project –





  • MassTransit consumers project – RabbitMQ.





  • Job Project – - .





. UI, :





Visual Studio , .





, , . : , , . – -, ..





Et après? - Nous reproduirons cette expérience à d'autres équipes. Nous voulons préserver autant que possible l'intégrité du modèle et en même temps le rendre universel pour une utilisation dans différents projets. Nous créerons des modèles pour toutes les plateformes. De cette manière, nous nous assurerons un niveau de qualité uniforme et un ensemble unique de bonnes pratiques, quelles que soient les conditions dans chaque cas.








All Articles