Ports effectifs et réécriture des URLs
Deux des choses les plus fastidieuses quand on lance plusieurs micros à la main —les ports qui entrent en collision et les URLs qu’il faut repointer— MicroLab les résout tout seul, et il le fait sans modifier le code des dépôts.
Port effectif
Section intitulée « Port effectif »Presque tous les micros déclarent le même port (typiquement 8080). Si vous en lancez plusieurs, ils entrent en collision. MicroLab remappe les ports à l’exécution : chaque micro reçoit un port effectif libre, et c’est celui-là qu’il utilise vraiment. Le port déclaré dans le manifeste peut changer au démarrage ; dans les vues du scénario, vous voyez le port effectif de chaque micro.
Réécriture des URLs
Section intitulée « Réécriture des URLs »Quand un micro appelle un autre core, l’URL qu’il utilise dépend de la façon dont vous
avez résolu cette dépendance (local, cloud ou mock).
MicroLab calcule l’URL effective et l’injecte comme configuration au démarrage :
propriétés système dans la famille JVM (-D…), variables d’environnement dans Node/Python.
Le dépôt n’est pas touché ; tout se fait par injection.
Perspective (hôte ou conteneur)
Section intitulée « Perspective (hôte ou conteneur) »L’adresse correcte d’un même service dépend d’où on l’appelle : un micro natif
l’atteint par localhost:<port>, mais un en conteneur a besoin de l’adresse interne du
réseau Docker. C’est ce qu’on appelle la perspective : MicroLab résout les hôtes avec
la perspective de chaque client (machine ou conteneur) pour que la communication
fonctionne en mode mixte.
C’est la même raison pour laquelle Kafka est configuré avec un double listener : l’advertised listener qu’il annonce doit être atteignable depuis où tourne chaque client.