Reference architecture for microservices with NATS
The microservice architecture is an evolving architecture pattern. This means that with every iteration, you will find that something has changed in the architecture. Some components may have been added, some components may have been modified, and some components may have been removed. Yet, the fundamental concepts stay the same. Due to this, we can come up with a common reference architecture that captures the core concepts of the microservice architecture.
In this section, we will produce a reference architecture for microservices while using NATS as the inter-service messaging backbone. This architecture will capture the core components of the microservice architecture, along with the integrated components that you find in enterprise distributed systems. The following diagram depicts a comprehensive microservice architecture with NATS: