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.

Description

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.

Notes

Here’s a copy of the slides: https://thomashunter.name/presentations/node-consul-v1

Here’s a list of other talks I’ve given: https://thomashunter.name/talks

This talk is based on content from my book Advanced Microservices: http://amzn.to/2sqp4qE

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: https://github.com/tlhunter/consul-haproxy-example