Git Product home page Git Product logo

tp_filrouge's Introduction

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.

Table des matières

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.

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.

Prérequis

  • Node.js
  • Docker
  • Kubernetes

Installation

  1. Clonez ce dépôt :
    git clone https://github.com/nadir-13016/TP_filrouge.git

Déploiement

  1. lancer dans la commande suivante pour instancier l'ingress:

      kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml
    
  2. Construisez les images Docker pour chaque service :

    docker build -t client ./client
    docker build -t posts ./posts
    docker build -t comments ./comments
    docker build -t event-bus ./event-bus
    docker build -t moderation ./moderation
    docker build -t query ./query
  3. Déployez les services sur Kubernetes :

    kubectl apply -f ./Pojet_fil_rouge/k8s/
  4. Maintenant vous pouvez aller sur le localhost en cliquant sur le liens suivant, ou en copiant le liens suivant sur votre navigateur: http://localhost/

tp_filrouge's People

Contributors

nadir-13016 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.