Skip to content

shrp777/ms-java-micro-services-poc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Architecture Micro Services modèle - Java (Spring Boot) + Docker (PoC)

Avertissement

🚨🚨🚨 Ce projet est une Preuve de concept fourni à des fins pédagogiques. Le code doit être optimisé avant d'être employé en production. 🚨🚨🚨

TODO:

  • le service auth n'est pas implémenté (signin, signup, signout, verify token...).
  • le service gateway est simpliste. Il peut être amélioré.

Instructions pour l'installation (avant le lancement des services Docker)

  • créer les fichiers de variables d'environnement en se basant sur les fichiers modèles nommés .env.example :

  • ./secrets/tasks-db-password

  • ./gateway-service/.env

  • ./tasks-service/.env

  • ./tasks-db/.env

  • ./rabbitmq/.env

Génération des services Java avec Spring Initializr

Les services Java ont été initialisés à l'aide de Spring Initializr https://start.spring.io/ avec la configuration suivante :

  • Project : Maven

  • Language : Java

  • Spring Boot : 3.4.0

  • Project Meatadat :

    • Group : dev.shrp
    • Artifact : nom-du-service
    • Name : nom-du-service
    • Description : Micro Service nom-du-service
    • Package name : dev.shrp.nom-du-service
    • Packaging : Jar
    • Java : 17
    • Dependencies :
      • Spring Web
      • Spring Data JPA (si le service est connecté à une base de données)
      • PostgreSQL Driver (si la base de données est de type PostgreSQL)
  • Pour chaque service Java :

    • ajouter un fichier Dockerfile et les variables d'environnement utiles avec un fichier .env à la racine du dossier du service, à référencer dans le fichier compose.yaml
    • personnaliser le fichier ./src/main/resources/application.properties pour accéder aux variables d'environnement
      spring.application.name=gateway
    
      tasks_service=${TASKS_SERVICE}
  • Configuration Spring Initializr pour le service Gateway

  • Tutoriel pour le service Gateway : Building a Gateway

Lancement des services Docker

Sans reconstruction des images Docker

docker compose up

Sans reconstruction des images Docker + activation du mode watch (permet de reconstruire en live les containers en cas de modification du code source)

docker compose up --watch

Avec reconstruction des images Docker au lancement (si modification du code source associé)

docker compose up --build

Avec reconstruction des images Docker au lancement (si modification du code source associé) + activation du mode watch (permet de reconstruire en live les containers en cas de modification du code source)

docker compose up --build --watch

Suppression des containers

docker compose down

Test de l'API avec Curl

--

"Logotype Shrp"

Alexandre Leroux
Enseignant / Formateur
Développeur logiciel web & mobile

Nancy (Grand Est, France)

https://shrp.dev

About

Architecture Micro Services modèle Java (Spring Boot) + Docker (PoC)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published