Service Discovery with Node.js and Consul

By Thomas Hunter II

Elevator Pitch

Get an overview of how Consul, a Service Discovery tool, can be used to dynamically scale your Node based services. Each service will be able to find each other and report their livelihood via heartbeat all while caching an up-to-date list of service locations locally.


This talk will look at various technologies required to build a system using Service Discovery. We’ll use Node.js as the basis of our application code. Consul will be the service which keeps a registry of our application instances and their hostnames and ports. Finally we’ll use HAProxy to route client traffic to web services, dynamically reconfiguring it as processes come and go.

Attendees of this talk will understand how Service Discovery works, why it is needed in a dynamic microservice environment, see real-world code samples and explanations of what they do, along with architectural diagrams.


Here’s a copy of the slides:

Here’s a list of other talks I’ve given:

This talk is based on content from my book Advanced Microservices:

Here’s a companion project which features multiple types of services, a web server to route traffic to one of the services, with each type of service communicating with Consul. This allows us to dynamically create and destroy service instances without failure: