Création d’un nouveau microservice¶
Points à évaluer avant de créer son microservice¶
- À quel niveau s’intégrera mon microservice dans l’architecture de l’application Zéphir ?
- Quelles seront les dépendances fonctionnelles de mon microservice ?
- Mon microservice sera t-il amené à fonctionner en mode multi-instances ?
Créer l’arborescence du microservice¶
Un script d’aide a été créé afin de faciliter la mise en place de nouveaux microservices:
./script/new-service <nom_du_service>
Si aucun service utilisant ce nom n’existe, le répertoire services/<nom_microservice> sera créé avec son Dockerfile.
Rôle du répertoire container-start.d¶
Dans la structure par défaut proposée par le script de génération, le répertoire container-stard.d comprend l’ensemble des scripts exécutés au démarrage du conteneur.
Ces scripts sont lancés par la commande run-parts dans le point d’entrée /docker-entrypoint.sh.
Partage de fichiers entre les microservices¶
Certains microservices seront amenés à utiliser des fichiers communs (par exemple des scripts d’attente de disponibilité d’autres services). Le répertoire services/common est dédié à accueillir ces fichiers.
L’utilisation de ce répertoire nécessite la modification du fichier docker-compose.dev.yml et la modification des chemins dans le fichier Dockerfile. Voir la section services.api-bridge.build du fichier docker-compose.dev.yml pour un exemple.