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

Using NATS to secure ISC

In this section, we will learn to secure microservices with the NATS server by configuring the NATS server and implementing code samples to try out different options discussed in the preceding sections.  

Implementing TLS with NATS for microservices

Let's set up a NATS server cluster with TLS and connect to it from our sample code.

Setting up a NATS cluster with TLS

The TLS configuration for the NATS server consists of two separate sections to secure client-server communication as well as server-server communication for clustering. In addition to that, the NATS server monitoring port also needs to be configured for TLS-based security. The steps mentioned next allow you to configure NATS servers with TLS security:

  1. Since we are setting up a test environment, we will use a self-signed certificate to implement TLS security. To create certificates, we will be using the cfssl tool maintained by Cloudflare (https://github.com/cloudflare...