Practical NATS: From Beginner to Pro

  • 2h 5m
  • Waldemar Quevedo
  • Apress
  • 2018

Learn to use NATS and messaging as a solution for communication between services. The NATS project has been around since 2010, but it has become more popular in recent years due to how well it fits into the paradigm of cloud native applications and microservices architectures.

It’s fast becoming a very attractive option thanks to its great performance characteristics--a single server can push millions of messages per second--and overall simple design. First you will learn the fundamentals of NATS, such as its design, protocol and the styles of communications it enables, internals of the NATS clients, and how to use the basic API provided by all the official clients. You will also understand how to setup and configure NATS servers using the configuration file. Next you'll work with real-world projects and see how to develop a production-ready cloud native application using NATS as the control plane over which clients communicate. Finally you’ll learn advanced usage of the NATS clients, such as implementing heartbeats based failure detectors, tracing or collecting multiple responses from a single request. Perhaps you are familiar with REST-style APIs, and want to make the transition into a messaging-based approach instead. Practical NATS is the perfect place to start.

What You'll Learn

  • Use NATS to build applications which use it as the control plane for communication among components
  • Explore the fundamentals of NATS such as how the protocol works under the hood to more advanced communication styles which are possible with the basic building blocks provided by the client
  • Setup, operate, and configure NATS servers, as well as how to troubleshoot common failure scenarios

Who This Book Is For

Anyone looking for a solution for some of the problems which come along with microservices and cloud native application development, such as service discovery, low latency requests, load balancing, tracing and monitoring for example. Also adopters of NATS who need further help getting started using it. Ideally you should have some familiarity with Go as that is the language of the code examples.

About the Author

Waldemar Quevedo is a Senior Software Engineer at Apcera, where he develops the Apcera Trusted Platform and is part of the NATS team. Previously, he formed part of the PaaS team at Rakuten in Tokyo, one of the early adopters of CloudFoundry for production usage, where he experienced operating NATS for the first time and became a fan of its simplicity. Waldemar has presented at a number of industry events, including StrangeLoop, AllThingsOpen, and GopherCon. You can find him on Twitter: @wallyqs.

In this Book

  • Introduction to NATS
  • The NATS Protocol
  • The NATS Clients
  • Setting Up NATS
  • High Availability with NATS Clustering
  • Developing a Cloud-Native NATS Application
  • Monitoring NATS
  • Securing NATS
  • Troubleshooting NATS
  • Advanced NATS Techniques