What is Hydra?
Hydra is a NodeJS package which facilitates building distributed applications such as Microservices.
Hydra offers features such as service discovery, distributed messaging, message load balancing, logging, presence, and health monitoring. Hydra does this by leveraging the awesome power of Redis.
For example, using Hydra’s sendMessage and makeAPIRequest calls an application can communicate with other applications by name and without the need to specify IP or port information.
In the common use-case where you’re running multiple instances of a named service, Hydra will load balance requests to available instances based on their presence information. Hydra will even reroute a request if the targeted instance fails to respond.
The Hydra project offers the hydra-express module for ExpressJS developers. Hydra-express API routes can be automatically registered and made available to the Hydra project’s hydra-router service — which is a service aware API and messaging router. Hydra-router will even accept WebSocket messages and route them to their appropriate services.