Предлагает разработчикам воспользоваться последействием.

Автор Пайал Миттал

Hydra - это модуль, который объединяет Hydra и Express.JS, чтобы предоставить готовый микросервис, который может поддерживать маршруты и обработчики API.

Проект Hydra был открыт в Нью-Йорке на конференции Empire Node 2016. Ключевая функция Hydra - создание масштабируемых микросервисов Node.

Есть определенные аргументы в пользу Hydra, что в основном то, что она предлагает, может быть легко достигнуто при правильном использовании комбинации библиотек, инструментов и фреймворков. Тогда зачем нам Гидра ??

Довольно веские доводы, не правда ли ?? Что ж, от этого аргумента можно отказаться, если лучше разобраться в Гидре.

Что такое Гидра?

«Hydra - это пакет NodeJS, который упрощает создание распределенных приложений, таких как микросервисы».

Он предлагает некоторые удивительные функции, такие как распределенный обмен сообщениями, обнаружение служб, балансировка нагрузки сообщений, мониторинг работоспособности, ведение журнала и присутствие. Кроме того, он выполняет все эти функции, используя потрясающую мощь Redis.

Более того, один очень интересный факт о проекте - он был назван в честь мифического зверя по имени Гидра, имеющего несколько голов из греческой и римской мифологии. Предполагалось, что каждый из руководителей был способен действовать независимо, выполняя несколько задач для достижения цели.

Мотивом создания гидры, в значительной степени, было создание облегченного пакета npm, который предоставит соответствующие решения, касающиеся проблем с микросервисами, при этом не заставляя разработчиков менять свое представление о создании микросервисов.

Не говоря уже о том, что Hydra - это главный ключ, который устраняет препятствия и открывает ровный проход для создания и развертывания надежных и масштабируемых микросервисов Node.

Особенности Hydra -

Хотя Hydra реализована с помощью Node.js, ее функции также могут быть использованы на других платформах. Функциональность подключения Hydra позволяет ей решать следующие задачи:

  • Регистрация службы: регистрация служб при подключении к сети и публикация их маршрутов HTTP API.
  • Маршрутизация API: включает маршрутизацию вызовов API к микросервису.
  • Обмен сообщениями: поддерживает взаимодействие между службами с использованием сетевой информации сервера, очередей служебных сообщений, makeAPIRequest метода и встроенных каналов.
  • Сеть: поддержка различных параметров сети, включая IP-адрес и исследование порта.
  • Обнаружение служб. Найдите службы напрямую с помощью метода findService(). Однако обнаруживаются только зарегистрированные службы.
  • Отчеты о присутствии. Тот факт, что служба обнаружена, не объясняет ее доступность в текущем сценарии. Hydra определяет, активен ли сервис в данный момент.
  • Отчеты о работоспособности: автоматическая проверка работоспособности и отправка информации о своем присутствии, например о работоспособности и полной работоспособности приложения.

Hydra на базе Redis

Redis довольно популярен среди сообщества разработчиков и считается идеальным выбором по уважительным причинам. Справедливой причиной использования Redis для создания Hydra является его доступность на ноутбуках, устройствах IoT, облаке и наличие поддерживающей среды хоста, такой как RedisLabs. Redis занимает высокие позиции в онлайн-опросах, проводимых во время опросов.

«Скорее всего, Redis уже будет в вашей среде, поскольку это часто используемое решение для интеллектуального кэширования».

Redis - единственная зависимость, которая есть у Гидры. Hydra решает несколько проблем, связанных с микросервисами Node, используя возможности Redis, и предлагает разработчикам дополнительные преимущества.

Для создания микросервисов Hydra требуется использовать сервер Redis. Есть несколько способов получить доступ к серверу Redis.

  • Однако один из самых простых способов - зарегистрироваться у поставщика облачных услуг бесплатного уровня, такого как RedisLabs, без необходимости установки.
  • Для пользователя Docker установка официального образа Redis будет поразительным вариантом. Это также будет работать для пользователей ПК.
  • На Mac для установки Redis достаточно простой команды brew install redis через Homebrew. Однако, если вы не хотите устанавливать Homebrew, смело устанавливайте Redis здесь.

Режимы Гидры -

Hydra можно настроить в следующих режимах для использования:

1. Сервисный режим

В этом режиме Hydra действует как сервис, а также использует другие сервисы. При настройке в этом режиме он записывает информацию о приложении и машинные данные на сервер Redis.

Чтобы использовать Hydra в сервисном режиме, вам необходимо сначала зарегистрировать ее как-

hydra.registerService();

Однако, если приложение не является службой, в этой регистрации нет необходимости.

2. Потребительский режим

В этом режиме Hydra работает только как потребитель услуг, а не как сама услуга. Когда приложение в режиме потребителя вызывает метод режима обслуживания, это приводит к исключению или ошибке.

Методы Гидры

Есть определенные методы, которые Hydra экспортирует публично. Хотя, будучи модулем, Hydra не рекомендует использовать свои внутренние методы, чтобы убедиться, что он работает нормально, как это предлагается с постоянно расширяющимся списком сервисов.

Вот список публично экспортируемых методов Hydra, которые требуются приложениям и службам, однако не все приложения используют все эти методы:

  • Настройка модуля и регистрация услуги
  • Проверка присутствия
  • Проверка работоспособности и ведение журнала
  • Обнаружение службы
  • Отправка и маршрутизация сообщений

Ядро Гидры -

Hydra (core) - это легкий пакет npm, который расширяет возможности библиотеки Hydra. Он находит приложения в широком диапазоне условий - от небольших устройств Интернета вещей до докеризованной облачной структуры.

Это один из разделов проекта Hydra, который был разработан для создания микросервисов и использования микросервисов в несервисных приложениях. Обычно он используется для создания приложений, не относящихся к express.js.

Hydra Express -

Hydra-Express - еще один пакет npm для разработчиков, знакомых с Express.js. С Hydra-Core он используется для создания распределенных приложений на основе express-js самым простым и быстрым способом.

Его можно установить и использовать в других проектах с помощью следующей команды:

$ npm install hydra-express

Инструменты Гидры

В проекте Hydra используется несколько инструментов для создания и тестирования приложений и микросервисов Hydra, описанных ниже:

Hydra-CLI:

Клиент командной строки, упрощающий работу с приложениями с поддержкой Hydra. Вам необходимо сначала установить его, чтобы начать работу с данной командой -

$ sudo npm install -g hydra-cli

Гидра-Роутер:

Маршрутизатор с поддержкой сервисов - это шлюз для направления сообщений WebSocket и HTTP-запросов на зарегистрированные устройства. Клиенты HTTP и WebSocket могут связываться с микросервисами Hydra и наоборот, используя Hydra Router.

Вы можете получить Hydra-Router прямо из контейнера Docker -

$ docker pull flywheelsports/hydra-router

Генератор Гидры:

Это инструмент, дополняющий поколение стартовых приложений Hydra / Hydra-Express. Интересный факт об этом генераторе Yeoman заключается в том, что вы можете создать с его помощью микросервис всего за 15 секунд.

Команда, используемая для установки Yeoman и генератора:

$ sudo npm install -g yo generator-fwsp-hydra

Используя Hydra Router, внешние клиенты могут подключаться к сервисам, не зная своего IP-адреса или информации о порте. Hydra Router заботится об обнаружении и маршрутизации сервисов.

Начало работы с Hydra

Прежде чем начать работу с Hydra, вам потребуется:

  • Версия узла 6.2.1 или выше
  • Доступ к серверу Redis

Давайте посмотрим, как установить и инициализировать Hydra -

#Install Hydra
$ npm install hydra
#Importing Hydra
const hydra = require('hydra');
#Initializing Hydra
hydra.init(initObject);
#The initObject consists of-
{
serviceName: 'hydramcp',
serviceDescription: 'Hydra Master Control Program',
serviceIP: '',
servicePort: 0,
serviceType: 'mcp',
redis: {
host: '127.0.0.1',
port: 6379,
db: 0
}
}

Есть еще много других важных вещей, которые необходимо знать о модуле Hydra. Использование Hydra состоит из нескольких этапов, включая получение Redis, настройку Hydra, получение инструментов Hydra, создание и тестирование микросервисов. Этот блог - попытка дать простое представление о модуле Hydra для начинающих в кратчайшие сроки, не вдаваясь в детали.

Теперь, когда вы познакомились с ним, вы, возможно, захотите погрузиться в глубину его функций и преимуществ, не так ли? Что ж, вы можете узнать больше о Гидре здесь-



Если вы нашли этот блог полезным, вы можете сообщить нам об этом своими аплодисментами. Кроме того, не стесняйтесь обращаться к нашей команде, если вы ищете ИТ-компанию для выполнения вашего проекта.

Спасибо за прочтение!!