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