Appuyez sur Entrée pour voir vos résultats ou Echap pour annuler.

API Node prête pour la prod en 5 minutes!

Node JS est un moteur JavaScript basé sur V8 (Chrome). Il permet notamment de créer des API REST qui communiquent par JSON en un temps record. Dans cet article, je vais vous montrer comment créer une API qui retoune l’heure du serveur et qui sera derrière un répartiteur de charge.

Préparez-vous!

0 – Prérequis

  • Node JS
  • Yarn ou NPM
  • PM2*

* Pour installer PM2, faites : npm install -g pm2

1 – Créer l’application

Dans un répertoire, ouvrez une invite de commande et exécutez : npm init puis répondez aux questions.

2 – Installer les dépendences

Toujours dans ce même répertoire, nous installerons :

  • Restify – Framework Node pour créer des API REST.
    yarn add restify
    ou
    npm install --save restify

3 – Créer le service REST

Puis, créez un fichier « index.js » dans le répertoire du projet et ajoutez le code suivant :

4 – Exécuter!

Ensuite, depuis la racine du projet, exécutez : pm2 start index.js. Vous devriez voir un tableau s’afficher démontrant qu’une instance de notre service a été exécutée. Testez en accédant à votre URL locale http://127.0.0.1:1337/api/date et vous devriez voir la date et l’heure.

5 – Information complémentaire

À partir d’ici, vous devriez avoir une instance de l’API qui tourne. Par contre, si cette instance tombe suite à un bogue, notre API aura un petit temps mort. Il est donc possible avec PM2 de créer plus d’une instance avec un répartiteur de charge devant très facilement. Pour ce faire, détruisez l’instance qui tourne avec pm2 kill.

Puis, exécutez : pm2 start index.js -i 4

Ceci créera 4 instances de l’API. D’ailleurs, ces 4 instances seront redémarrées en cas de bogue et se trouvent derrière un répartiteur de charge.

Conclusion

Pour conclure, vous avez appris ajourd’hui qu’il était possible de mettre sur pieds une architecture production-ready facilement pour une API programmée en Node JS. Qui plus est, quoique simple, cette API possède tout le nécessaire pour être déployée dans un conteneur infonuagique ou sur un serveur dédié, sans configuration! Par contre, dans un contexte de microservices, vous auriez un proxy inverse pour répartir les requêtes qui entrent vers le bon cluster de microservices.

Je vous invite par ailleurs à lire ou relire mon article sur Angular CLI pour créer un front-end pour vos API.

Finalement, si cet article vous a plu, prennez une seconde pour le partager sur votre réseau social favoris et abonnez-vous pour recevoir les articles dès leur publication. Nous vous invitons aussi à engager la conversation avec nous dans les commentaires ci-dessous!

Suivez-nous par courriel!

Saisissez votre adresse courriel pour vous abonner au blog d'Ezo et recevoir une notification de chaque nouvel article par email.