Skip to content

zulo278/fil-rouge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet fil rouge

Introduction

Ce projet est une application microservices construite avec Node.js et React. Il est conçu pour être déployé sur Kubernetes.

Architecture

L'application est composée des services suivants :

  • Client : Interface utilisateur construite avec React.
  • Posts : Service pour la gestion des posts.
  • Comments : Service pour la gestion des commentaires.
  • Query : Service pour la gestion des requêtes.
  • Moderation : Service pour la modération des commentaires.
  • Event Bus : Service pour la gestion des événements entre les services.

Prérequis

  • Node.js
  • Docker
  • Kubernetes
  • Python

Installation

  1. Clonez ce dépôt :
    git clone https://github.com/Mossbaddi/Pojet_fil_rouge.git

Déploiement

  1. Dans le répertoire principal, lancer le script run.py. Ce dernier va construire les images Docker de chaque micro-service et les mettre à disposition pour la suite du déploiement.

    py ./run.py
  2. Déployez le contrôleur Nginx de l'objet Ingress :

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml
  3. Déployez tous les services Kubernetes :

    kubectl apply -f k8s/
  4. Accéder à votre application micro-service en vous rendant sur votre navigateur à l'adresse : http://localhost

Partie Développeur

Chemins d'Ingress

  • /posts/create : Dirigé vers le service posts-clusterip-srv sur le port 4000.

    • Utilisé pour créer de nouveaux posts.
  • /posts : Dirigé vers le service query-srv sur le port 4002.

    • Utilisé pour récupérer la liste des posts existants.
  • /posts/?(.*)/comments : Dirigé vers le service comments-srv sur le port 4001.

    • Utilisé pour créer ou récupérer les commentaires associés à un post spécifique.
  • /?(.*) : Dirigé vers le service client-srv sur le port 3000.

    • Utilisé pour accéder à l'interface utilisateur.

Noms de Services Kubernetes

Assurez-vous que les noms de services dans vos fichiers de déploiement Kubernetes correspondent aux noms de services utilisés dans le code de l'application. Voici les noms de services attendus :

  • client-srv: Service pour l'interface utilisateur.
  • posts-clusterip-srv: Service pour la gestion des posts.
  • query-srv: Service pour la gestion des requêtes.
  • comments-srv: Service pour la gestion des commentaires.
  • moderation-srv: Service pour la modération des commentaires.
  • event-bus-srv: Service pour la gestion des événements entre les services.

Si vous modifiez ces noms, assurez-vous également de mettre à jour les références correspondantes dans le code de l'application.

Ports des Services

Chaque service écoute sur un port spécifique. Assurez-vous que ces ports sont correctement configurés dans vos fichiers de déploiement Kubernetes et dans tout autre outil de gestion des conteneurs que vous pourriez utiliser. Voici les ports attendus pour chaque service :

  • client-srv: Écoute sur le port 3000.
  • posts-clusterip-srv: Écoute sur le port 4000.
  • query-srv: Écoute sur le port 4002.
  • comments-srv: Écoute sur le port 4001.
  • moderation-srv: Écoute sur le port 4003.
  • event-bus-srv: Écoute sur le port 4005.

Si vous modifiez ces ports, assurez-vous également de mettre à jour les références correspondantes dans le code de l'application et les fichiers de configuration Kubernetes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published