1. Introduction to NATS 2. The NATS Protocol 3. The NATS Clients 4. Setting up NATS 5. High Availability with NATS Clustering 6. Developing a Cloud Native NATS Application 7. Monitoring NATS 8. Securing NATS 9. Troubleshooting NATS 10. Advanced NATS Techniques
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.
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.