Giter Site home page Giter Site logo

tp-wik-dps-tp03's Introduction

TP-WIK-DPS-TP03

CONSIGNES :

  • Créer un docker-compose avec pour seul service un container basé sur le Dockerfile créé dans le TP WIK-DPS-TP02
  • Augmenter le nombre de réplicas à 4 pour ce service
  • Modifier le docker-compose pour ajouter un reverse-proxy (nginx), seule le reverse-proxy doit être exposé sur votre hôte - sur le port 8080
  • Configurer nginx (nginx.conf) pour loadbalancer les requêtes vers le service basé sur votre image
  • Modifier le code de votre API pour afficher le hostname dans les logs à chaque requête sur /ping, lancer votre
  • docker-compose.yaml et observer l'effet du l'équilibrage de charge

Choix des Technos :

  • Rust : Comme langage de programmation.
  • Actix : Web framework pour Rust.
  • Serde : Outil de sérialization JSON.
  • Hostname : Permet d'afficher l'host de la machine dans la console

Lancer le projet :

Commande à lancer dans le temrinal à la racine du projet :

docker compose up // Affiche l'état de l'app avec le serveur démarré, ainsi que l'action du server balancing.

screenshot

docker inspect $(docker ps -q) --format '{{.Config.User}} {{.Name}}' // Permet de visualiser l'utilisateur, dans notre cas on run avec "userapi"

screenshot

Tester l'application :

  • Depuis le Terminal avec la commande curl :
curl http://127.0.0.1:9000/ping
  • *Depuis un Navigateur Web via le lien suivant en local :
http://127.0.0.1:9000/ping

*Retourne à l'utilisateur l'affichage du header sous la forme d'un JSON dans le body

Si l'utilisateur essaie de visiter tout autres routes que /ping, le serveur renverra une erreur une 404, celle-ci est visible dans la console du navigateur dans l'onglet Network ou Réseau.

Taille de l'image docker :

Poids de l'image docker actualisée pour le TP03 screenshot

LESTAGE Maxime - TP DevOps n°3 - Ynov 2022.

tp-wik-dps-tp03's People

Contributors

maxlestage avatar

Stargazers

Roman avatar

Watchers

James Cloos avatar  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.