JavaRush /Blog Java /Random-FR /Petits trucs avec Heroku
Игорь
Niveau 40
Киев

Petits trucs avec Heroku

Publié dans le groupe Random-FR
Imaginons la situation. Vous avez suivi le cours JavaRush, effectué un stage en ligne et vous avez votre premier projet sur la plateforme Heroku PaaS . Vous envoyez votre CV et commencez à passer des entretiens. Et lors de l'un d'entre eux, il vous est demandé de montrer votre projet (ou ils voudront le consulter rapidement avant même l'entretien en suivant le lien de votre CV). Le navigateur s'ouvre et votre site met beaucoup de temps à se charger. Oui, vous pouvez expliquer qu'il s'agit d'un Heroku gratuit et que cela fonctionne ainsi, mais l'impression est gâchée. Nous essaierons de comprendre les raisons de ce comportement et les méthodes pour le combattre dans cet article.
Petits trucs avec Heroku - 1
Commençons par le concept des heures dynamométriques . Selon la documentation , les heures Dyno sont essentiellement la durée d'exécution de votre/vos application(s) exprimée en heures/mois. Immédiatement après avoir créé un compte gratuit, vous bénéficiez de 550 heures par mois. Après avoir effectué des calculs simples, nous disposons d'environ 17 heures par jour pour une application. Ce ne sera pas suffisant. Par conséquent, nous associons une carte de crédit dans Paramètres du compte - Facturation et obtenons 450 heures gratuites supplémentaires (32 heures par jour déjà). Ce problème a été résolu. Il y en a un de plus. Le document ci-dessus indique également que l'application « dyno sleep » s'il n'y a aucune activité pendant 30 minutes. Il existe trois approches principales sur Internet :
  1. Envoyez régulièrement (par exemple, une fois toutes les 5 minutes) des requêtes à l'application depuis l'application elle-même.

    En utilisant JavaScript, cela ressemblerait à ceci :

    var http = require("http");
    setInterval(function() {
        http.get("http://<your app name>.herokuapp.com");
    }, 300000); // every 5 minutes (300000)
  2. Utilisez des sites de ping externes qui vérifieront votre site à des intervalles spécifiés.

    Des exemples de tels sites sont Pingdom , Uptime Robot , Kaffeine et autres. Le principe est simple. Nous entrons, nous enregistrons (si nécessaire), indiquons le site et l'intervalle de temps et appliquons les paramètres.

  3. Utiliser l'addon Heroku Newrelic Ce plugin est conçu pour surveiller et notifier les plantages du site, mais comme « effet secondaire » utile, il empêchera l'application de s'endormir. J'ai opté pour cette méthode qui, à mon avis, est la plus belle. Je vais le décrire plus en détail.

    Pour installer l'addon, vous devez suivre ce lien et cliquer sur le bouton "Installer New Relic APM" . Dans la fenêtre qui s'ouvre, vous devez sélectionner un plan tarifaire et le nom de l'application à laquelle cet addon sera appliqué.

    Petits trucs avec Heroku - 2

    Appuyez ensuite sur le bouton « Provision add-on » .

    Après l'installation, New Relic sera disponible sur la page des paramètres de l'application dans la liste des modules complémentaires installés.

    Petits trucs avec Heroku - 3

    Cliquez sur le lien et vous serez redirigé vers la page des paramètres du module complémentaire.

    Allez dans l' onglet "Synthétiques" et cliquez sur le bouton "Ajouter un nouveau".

    Petits trucs avec Heroku - 4

    Dans la fenêtre qui s'ouvre, dans la section «Entrez les détails» , indiquez un nom arbitraire du moniteur et l'adresse du site que nous surveillerons. Nous sélectionnons l'emplacement à partir duquel le site sera vérifié dans "Sélectionner les emplacements de surveillance" .

    Nous indiquons la fréquence d'enregistrement dans « Définir le calendrier » (je l'ai réglé sur 15 minutes) et l'e-mail de notification dans « Recevoir une notification ».

    Après tous les réglages, n'oubliez pas de cliquer sur le bouton « Créer un moniteur ».

Voilà, le moniteur a été créé et désormais votre application fonctionnera 24h/24 et 7j/7 et n'échouera pas au moment le plus crucial :)
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION