Bonjour à tous.
J'étudie depuis quelques temps déjà l'architecture microservices, qui est ma fois fort intéressant. Cependant, j'y vois un soucis que je n'arrive pas à régler : le client.
Avec des services REST, pas de soucis, l'utilisation d'une gateway qui fait du dispatch fonctionne très bien. En revanche, dès que l'on veux ajouter un client web se pose un problème : comment gérer dynamiquement les services.
Pour l'instant, j'ai vue deux options, qui toute deux ont de gros inconvénients :
D'abord faire un client qui "connait" les services. Dans ce cas, on a une beau gros client qui enlève certaines parties lorsqu'il découvre qu'un service n'est pas accessible. Le soucis c'est que si on intègre un nouveau service, il faut (partiellement) réécrire le client, et le redéployer. Cela enlève, selon moi, une grande partie de l'intérêt de ce type d'architecture.
Deuxième options, chaque service expose son propre client et la gateway dispatch. Mais le problème est qu'il devient, sauf erreur de ma part, d'unifier certains aspect du client (template html, bibliothèques JS,...)
Peut-être que j'ai manqué quelque chose, j'aimerais donc avoir l'avis de la communauté et, si possible, des retours d'expérience ...
Merci d'avance.
Partager