Académique Documents
Professionnel Documents
Culture Documents
Les Micro services, également connus sous le nom d'architecture de Micro services,
sont essentiellement une approche SDLC dans laquelle de grandes applications sont
construites sous la forme d'un ensemble de petits modules fonctionnels. C'est l'un
des concepts architecturaux les plus largement adoptés dans le développement de
logiciels. En plus de faciliter la maintenance, cette architecture accélère également
le développement. De plus, les Micro services sont également un atout majeur pour
les dernières méthodes de développement logiciel telles que DevOps et Agile . En
outre, il permet de fournir des applications volumineuses et complexes rapidement,
fréquemment et de manière fiable. Les applications sont modélisées comme des
ensembles de services, qui sont :
• Maintenable et testable
• Couplage lâche
• Déployable indépendamment
• Conçu ou organisé autour des capacités métier
• Géré par une petite équipe
Avantages :
Désavantages :
Vous pouvez télécharger une version PDF des questions d'entretien sur les
Micro services.
Télécharger le PDF
4. Nommez trois outils courants principalement utilisés pour les Micro
services.
• Wiremock
• Docker
• Hystrix
Spring Cloud : Dans les Micro services, le Spring Cloud est un système qui s'intègre
à des systèmes externes. Il s'agit d'un cadre de courte durée conçu pour créer
rapidement des applications. Il contribue de manière significative à l'architecture
des Micro services en raison de son association avec des quantités finies de
traitement de données. Certaines des caractéristiques du nuage printanier sont
présentées ci-dessous :
Spring Boot : Spring Boot est un framework open source basée sur Java qui fournit
à ses développeurs une plate-forme sur laquelle ils peuvent créer des applications
Spring autonomes de qualité production. En plus de réduire le temps de
développement et d'augmenter la productivité, il est facile à comprendre.
Un actionneur de démarrage à ressort est un projet qui fournit des services Web
reposants pour accéder à l'état actuel d'une application qui s'exécute en
production. De plus, vous pouvez surveiller et gérer l'utilisation des applications
dans un environnement de production sans avoir à coder ou configurer l'une des
applications.
9. Expliquez comment vous pouvez remplacer les propriétés par
défaut des projets de démarrage Spring.
Exemple :
dans les applications Spring MVC, vous devez spécifier un suffixe et un préfixe. Pour
ce faire, ajoutez les propriétés répertoriées ci-dessous dans le fichier
application.properties.
• Problèmes compliqués causés par les systèmes distribués : cela inclut les
problèmes de réseau, les problèmes de latence, les problèmes de bande
passante et les problèmes de sécurité.
• Problèmes de découverte de service : la découverte de service permet aux
processus et aux services de communiquer et de se localiser au sein d'un
cluster.
• Problèmes de redondance : les systèmes distribués peuvent souvent
rencontrer des problèmes de redondance.
• Problèmes d'équilibrage de charge : optimisez la répartition des charges
de travail entre plusieurs ressources informatiques, y compris les grappes
d'ordinateurs, les unités centrales de traitement et les liaisons réseau.
• Réduit les problèmes de performances : réduit les problèmes de
performances causés par divers frais généraux opérationnels.
Couplage : Il est défini comme une relation entre les modules logiciels A et B, et
combien un module dépend ou interagit avec un autre. Les accouplements se
répartissent en trois grandes catégories. Les modules peuvent être fortement
couplés (fortement dépendants), faiblement couplés et découplés les uns des
autres. Le meilleur type de couplage est le couplage lâche, qui est réalisé via des
interfaces.
Cohésion : Elle est définie comme une relation entre deux ou plusieurs
parties/éléments d'un module qui sert le même objectif. En règle générale, un
module à haute cohésion peut remplir efficacement une fonction spécifique sans
avoir besoin de communiquer avec d'autres modules. Une cohésion élevée améliore
la fonctionnalité du module.
Un contexte délimité est un modèle central dans DDD (Domain-Driven Design), qui
traite de la collaboration entre de grands modèles et équipes. DDD décompose les
grands modèles en plusieurs contextes pour les rendre plus gérables. De plus, il
explique explicitement leur relation. Le concept promeut une approche orientée
objet pour développer des services liés à un modèle de données et est également
chargé d'assurer l'intégrité et la mutabilité dudit modèle de données.
13. Écrivez les caractéristiques fondamentales de Micro service
Design.
• Basé sur les capacités métier : les services sont divisés et organisés autour
des capacités métier.
• Produits et non projets : Un produit doit appartenir à l'équipe qui le gère.
• Cadres de messagerie essentiels : s'appuyer sur des cadres de messagerie
fonctionnels : éliminer les bus de services centralisés en adoptant le concept
de décentralisation.
• Gouvernance décentralisée : Les équipes de développement sont
responsables de tous les aspects du logiciel qu'elles produisent.
• Gestion décentralisée des données : Les Micro services permettent à
chaque service de gérer ses données séparément.
• Infrastructure automatisée : Ces systèmes sont complets et peuvent être
déployés indépendamment.
• Conception pour les pannes : augmentez la tolérance aux pannes des
services en vous concentrant sur la surveillance continue des applications.
14. Quels sont les défis auxquels on doit faire face lors de l'utilisation
des Micro services ?
Les défis auxquels on doit faire face lors de l'utilisation de Micro services peuvent
être à la fois fonctionnels et techniques, comme indiqué ci-dessous :
Défis fonctionnels :
Défis techniques :
• Les Micro services sont toujours interdépendants. Par conséquent, ils doivent
communiquer entre eux.
• C'est un modèle fortement impliqué car c'est un système distribué.
• Vous devez être préparé aux frais généraux des opérations si vous utilisez
l'architecture Micro service.
• Pour prendre en charge des Micro services distribués de manière hétérogène,
vous avez besoin de professionnels qualifiés.
• Il est difficile à automatiser en raison du nombre de composants plus
petits. Pour cette raison, chaque composant doit être créé, déployé et
surveillé séparément.
• Il est difficile de gérer les configurations dans différents environnements
pour tous les composants.
• Défis associés au déploiement, au débogage et aux tests.
PACT est défini comme un outil open source qui permet aux fournisseurs de
services et aux consommateurs de tester les interactions de manière isolée par
rapport aux contrats qui ont été conclus pour augmenter la fiabilité de l'intégration
des Micro services. Il prend également en charge de nombreux langages, tels que
Ruby, Java, Scala, .NET, JavaScript, Swift/Objective-C.
Le certificat client est un type de certificat numérique qui permet généralement aux
systèmes clients d'authentifier leurs demandes auprès de serveurs distants. Dans de
nombreuses conceptions d'authentification mutuelle, il joue un rôle clé en
fournissant une assurance solide de l'identité du demandeur.
• Twitter
• Netflix
• Amazone, etc...
Habituellement, les tests de Micro services de bout en bout (E2E) sont une
technique non coordonnée et coûteuse qui est utilisée pour garantir que tous les
composants fonctionnent ensemble pour un parcours utilisateur
complet. Habituellement, cela se fait via l'interface utilisateur, imitant la façon dont
elle apparaît à l'utilisateur. Il garantit également que tous les processus du flux de
travail fonctionnent correctement.
Eureka Server, également appelé Netflix Service Discovery Server, est une
application qui assure le suivi de toutes les applications de service client. Comme
chaque Micro service s'enregistre auprès d'Eureka Server, Eureka Server connaît
toutes les applications clientes exécutées sur les différents ports et adresses IP. Il
utilise généralement Spring Cloud et n'est pas lourd sur le processus de
développement d'applications.
Une extension réactive, également connue sous le nom de Rx, est essentiellement
une approche de conception qui appelle plusieurs services, puis génère une
réponse unique en combinant les résultats. Les appels peuvent être bloquants ou
non bloquants, synchrones ou asynchrones. Outil populaire dans les systèmes
distribués, Rx fonctionne exactement à l'opposé des flux hérités.
Comme plusieurs Micro services travaillent ensemble, les tests de Micro services
deviennent assez complexes lorsque vous travaillez avec des Micro services. Par
conséquent, les tests sont classés selon leur niveau :
Tests de niveau inférieur : les tests de niveau inférieur sont ceux qui traitent de la
technologie, tels que les tests unitaires et les tests de performance. Il s'agit d'un
processus entièrement automatisé.
Tests de niveau intermédiaire : Au milieu, nous avons des tests exploratoires tels
que des tests de résistance et des tests d'utilisabilité.
Tests de haut niveau : Dans les tests de haut niveau, nous avons un nombre limité
de tests d'acceptation. Les tests d'acceptation aident les parties prenantes à
comprendre et à vérifier les fonctionnalités du logiciel.
32. Que voulez-vous dire par la pyramide des tests de Mike Cohn ?
La pyramide des tests de Mike Cohn explique les différents types de tests
automatisés nécessaires au développement de logiciels. La pyramide de test est
essentiellement utilisée pour maximiser l'automatisation à tous les niveaux de test, y
compris les tests unitaires, les tests de niveau de service, les tests d'interface
utilisateur, etc. La pyramide indique également que les tests unitaires sont plus
rapides et plus isolés, tandis que les tests d'interface utilisateur, qui sont au sommet
, prennent plus de temps et sont centrés sur l'intégration.
Les conteneurs sont des technologies utiles pour allouer et partager des
ressources. Il est considéré comme la méthode la plus efficace et la plus simple pour
gérer les applications basées sur des Micro services afin de les développer et de les
déployer individuellement. À l'aide de Docker, vous pouvez également encapsuler
un Micro service avec ses dépendances dans une image de conteneur, qui peut
ensuite être utilisée pour déployer des instances à la demande du Micro service
sans aucun travail supplémentaire.
34. Quel est le rôle principal de docker dans les Micro services ?
Conclusion:
Parmi les technologies suivantes, lesquelles sont couramment utilisées pour mettre
en œuvre des Micro services ?
Docker
Kubernetes
Les deux, A et B
Aucune de ces réponses
2.
Nommez le framework Java populaire utilisé pour développer des Micro services.
Botte de printemps
Nuage de printemps
Microprofil Eclipse
B et C
A et C
3.
Sous quelle condition les développeurs doivent-ils utiliser les Micro services ?
Lequel des éléments suivants définit le mieux une architecture de Micro service ?
Lequel des énoncés suivants définit le mieux le terme "contexte délimité" dans les
Micro services ?
Lequel des éléments suivants active des fonctionnalités prêtes pour la production
dans l'application Spring Boot ?
Point final
Actionneurs
Botte
Aucune de ces réponses
9.
Contrôle de version
Emplacement/Affinité
Modélisation facile
Tout ce qui précède