Book Image

Designing Microservices Platforms with NATS

By : Chanaka Fernando
5 (1)
Book Image

Designing Microservices Platforms with NATS

5 (1)
By: Chanaka Fernando

Overview of this book

Building a scalable microservices platform that caters to business demands is critical to the success of that platform. In a microservices architecture, inter-service communication becomes a bottleneck when the platform scales. This book provides a reference architecture along with a practical example of how to implement it for building microservices-based platforms with NATS as the messaging backbone for inter-service communication. In Designing Microservices Platforms with NATS, you’ll learn how to build a scalable and manageable microservices platform with NATS. The book starts by introducing concepts relating to microservices architecture, inter-service communication, messaging backbones, and the basics of NATS messaging. You’ll be introduced to a reference architecture that uses these concepts to build a scalable microservices platform and guided through its implementation. Later, the book touches on important aspects of platform securing and monitoring with the help of the reference implementation. Finally, the book concludes with a chapter on best practices to follow when integrating with existing platforms and the future direction of microservices architecture and NATS messaging as a whole. By the end of this microservices book, you’ll have developed the skills to design and implement microservices platforms with NATS.
Table of Contents (15 chapters)
1
Section 1: The Basics of Microservices Architecture and NATS
5
Section 2: Building Microservices with NATS
11
Section 3: Best Practices and Future Developments

Preface

The microservices architecture has developed into a mainstream approach to building enterprise-grade applications within the past few years. Many organizations, from large to medium to small start-ups, have started utilizing the microservices architecture to build their applications. With more and more people adopting the microservices approach to build applications, some practical challenges of the architecture have been uncovered. Inter-service communication is one challenge that most microservices teams experience when scaling applications to a larger number of instances.

At first, point-to-point inter-service communication was not working well, and the concept of smart endpoints and dumb pipes was proposed as an alternative approach. Instead of connecting microservices in a point-to-point manner, having a messaging layer to decouple the microservices looked like a better solution.

NATS messaging technology was originally developed as the messaging technology to be used in the Cloud Foundry platform. It was built to act as the always-on dial tone for inter-service communication. Its performance and the simple interface it exposed to interact with clients made it popular within the developer community.

In this book, we discuss how NATS messaging can be used to implement inter-service communication within a microservices architecture. We start with a comprehensive introduction to microservices, messaging, and NATS technology. Then we go through the architectural aspects and provide a reference implementation of an application using the Go programming language. We cover the security and observability aspects of the proposed solution and how that can co-exist in an enterprise platform. At the end of the book, we discuss the latest developments in microservices and NATS messaging and explore how these developments can shape our proposed solution.