EXAMEN JEE 2 5IIR v9

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 4

Cursus : 5IIR Examen Date : 13/12/2024

JEE 2 (Architecture microsevices en java spring boot) Durée : 50min


Nom & Prénom : …………………………...……… Note Examen : ………/20

1. Quel est un des avantages de l'architecture microservices par rapport à


l'architecture monolithique ?
1 Les microservices nécessitent moins de communication réseau
2 Les microservices permettent une gestion plus simple des transactions
3 Les microservices offrent une meilleure scalabilité, car chaque service peut être
mis à l’échelle indépendamment
4 Les microservices réduisent le nombre de déploiements nécessaires

2. Quel est un avantage des microservices pour la gestion de projet agile ?


1 Ils rendent difficile l'intégration continue, ce qui ralentit les itérations agiles
2 Ils facilitent l'intégration continue et la livraison continue, améliorant ainsi les
itérations rapides et la réactivité aux besoins des clients
3 Ils compliquent la gestion des sprints en introduisant trop de dépendances
4 Ils suppriment l'automatisation des tests, ce qui rend le processus de
développement plus simple

3. La principale différence entre Config Server et Consul Key-Value Store est : ?


1 Consul ne peut pas stocker de configurations
2 Config Server ne fonctionne pas en distribution
3 Config Server est spécifique à Spring, Consul est générique
4 Ils ont exactement la même fonction

4. Quel avantage Spring Cloud Consul permet-il ?


1 Il sert uniquement à la gestion des sessions utilisateurs dans une application web
2 Il permet la gestion des transactions dans une base de données centralisée
3 Il fournit des services de configuration distribuée et de découverte de services
dans une architecture de microservices
4 Il permet de créer des interfaces utilisateur graphiques pour les microservices

5. Dans une architecture microservices, quel pattern permet de limiter les requêtes
concurrentes à un service externe ?
1 Circuit Breaker
2 Timeout
3 Bulkhead
4 Rate Limiting

6. Quelle annotation permet de configurer un Bulkhead avec Resilience4J dans Spring


Boot ?
1 @Retry
2 @ Bulkhead
3 @CircuitBreaker
4 @Timeout

V3
1
7. Avec une route définie ainsi :
spring:
cloud:
gateway:
routes:
# Route pour le service USER-SERVICE
- id: route_1
uri: lb://USER-SERVICE
predicates:
- Path=/users
# Route pour le service ORDER-SERVICE
- id: route_2
uri:
predicates:
- Path=/api/**

Quel est le rôle de la notation lb:// dans la configuration de Spring Cloud Gateway ?
1 Elle spécifie un port statique pour le service cible
2 Elle définit le service à utiliser directement par son URL
3 Elle indique que la requête doit être envoyée à un service via un load balancer
4 Elle utilise une connexion SSL pour le service cible

8. Dans une architecture microservices, quel fichier de configuration est souvent utilisé
pour stocker les configurations dans un Config Server ?
1 database.yml
2 application.properties
3 service-config.properties
4 config.json

9. Quel mécanisme de résilience Bulkhead peut être configuré dans un environnement


basé sur Spring Boot et Resilience4j?
1 Limitation du nombre d'instances de base de données
2 Configuration de limites de ressources (threads, connexions) pour chaque service
dans l'application
3 Augmentation de la taille des bases de données pour éviter les pannes
4 Gestion des erreurs HTTP uniquement

10. Pourquoi utiliser WebClient plutôt que RestTemplate dans une application réactive ?
1 WebClient est plus rapide et ne bloque pas le thread, ce qui est idéal pour les
applications réactives
2 WebClient est une version améliorée de RestTemplate qui fonctionne uniquement
avec des services REST
3 WebClient offre une meilleure compatibilité avec les bases de données
4 WebClient permet de créer des services REST, contrairement à RestTemplate qui
est utilisé pour consommer des services REST

11. Étant donné le code suivant :


webClient.get()
.uri("/personnes/{id}",adresseResponse.getIdPersonne())
.retrieve()

V4
2
// Mono (0, 1 element) , Flux (1,n elements)
.bodyToMono(PersonneResponse.class)
.block();

Quelle est la fonction de bodyToMono() dans WebClient ?


1 Elle extrait un flux d'objets à partir du corps de la réponse HTTP
2 Elle convertit le corps de la réponse HTTP en un type spécifique, comme une chaîne
de caractères ou un objet Java
3 Elle vérifie la validité du corps de la réponse
4 Elle transforme la requête HTTP en un flux réactif

12. Étant donné le code suivant :


@Bean
public RouteLocator routeLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route("time_limited_route", r -> r.path("/api/users/**")
.filters(f -> f
.timeLimiter(config ->
config.setTimeout(Duration.ofSeconds(5)))) // Appliquer un TimeLimiter
avec un timeout de 5 secondes
.uri("http://localhost:8081") // Un service à appeler
)
.build();
}

Que fait la ligne suivante dans le code .filters(f -> f.timeLimiter(config ->
config.setTimeout(Duration.ofSeconds(5))))?
1 Elle applique un circuit breaker qui renvoie un fallback après 5 secondes
2 Elle configure un TimeLimiter pour que la requête échoue si elle prend plus de 5
secondes
3 Elle applique une condition de filtrage basée sur l'URL de la requête
4 Elle définit une limite de 5 secondes pour les requêtes HTTP entrantes

13. Étant donné le code suivant :


@Service
public class JmsMessageConsumer {
@Autowired
private final JmsTemplate jmsTemplate;
public String receiveMessage(String _______ ) {
// Recevoir un message synchrone de la queue
Message message = jmsTemplate._______ (queueName);
if (message != null && message instanceof TextMessage) {
try {
// Convertir le message en texte
return ((TextMessage) message)._______ ();
} catch (JMSException e) {
e.printStackTrace();
return "Erreur de traitement du message";
}
} else {
return "Aucun message disponible";
}
}
}

1 queueName /receive/getText
2 queueName /receive/getMap

V4
3
3 queueName / createConsumer /getText
4 queueName /receive/ getMessage

14. Quel type de persistance permet de garantir que les messages sont stockés de
manière fiable et récupérés après une panne ?
1 Persistance en mémoire
2 Persistance basée sur disque
3 Persistance en cache
4 Persistance dans un cluster

15. Quel framework Spring est couramment utilisé pour implémenter une API Gateway
dans une architecture microservices?
1 Spring Security
2 Spring Cloud Gateway
3 Spring Boot
4 Spring Data

16. Que faut-il faire dans un fichier application.properties pour activer Spring Cloud
Consul comme source de configuration ?
1 Ajouter spring.cloud.config.uri avec l'URL du serveur Config
2 Ajouter spring.cloud.consul.config.enabled=true
3 Ajouter spring.cloud.consul.enabled=true
4 Aucune de ces réponses

17. Quel est le port par défaut utilisé par l'interface Web d'ActiveMQ ?
1 8080
2 61616
3 8161
4 5672

18. Les MOMs sont-elles capables de garantir la fiabilité des messages dans un système
asynchrone?
1 Vrai
2 Faux

19. Consul est un middleware orienté messages utilisé pour la communication inter-
microservices ?
1 Vrai
2 Faux

20. La communication synchrone nécessite que les deux parties soient actives en même
temps ?
1 Vrai
2 Faux

V4
4

Vous aimerez peut-être aussi