Création d’un nouveau microservice

Points à évaluer avant de créer son microservice

  1. À quel niveau s’intégrera mon microservice dans l’architecture de l’application Zéphir ?
  2. Quelles seront les dépendances fonctionnelles de mon microservice ?
  3. 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.