Building Distributed Systems with Go and NATS: A Comprehensive Guide
Learn to architect, implement, and scale robust distributed systems. This practical guide emphasizes real-world applications of domain-driven design, hexagonal architecture, and reactive systems, all within the context of the Go programming language and the NATS messaging system.

The book begins with foundational concepts and gradually progresses to advanced architectural patterns. You will first explore synchronous and asynchronous communication mechanisms before learning to design and implement individual services that are resilient, scalable, and responsive. From there, the focus expands to broader system architecture. You will learn to create software aligned with real-world business processes using domain-driven design. Finally, you’ll explore hexagonal architecture and reactive systems to learn how to design modular, resilient systems capable of handling concurrency and asynchronous processing efficiently.

Today, the adoption of distributed systems is accelerating, necessitating a nuanced understanding of distributed architecture principles. Through clear methodologies, architectural discussions, practical examples, and real-world scenarios, you will be ready to build distributed systems with confidence.

What You Will Learn:



• Understand distributed systems basics, including communication prools like req/rep, push/pull, and pub/sub.
• Grasp microservice internals such as service discovery, load balancing, and fault tolerance.
• Apply the concepts of domain-driven design, hexagonal architecture, and reactive systems practically.
• Build robust distributed systems using Go and NATS messaging system using real-world examples.
• Explore the architecture of interconnected components to design modular, maintainable systems.
• Understand handling high concurrency and adapt to evolving demands.

Who This Book is for:

Software developers seeking practical guidance on building scalable distributed systems with GO and NATS, regardless of their level of experience with the Go programming language. Also suitable for aspiring architects and system designers seeking to deepen their understanding of architectural patterns and implementation.

1148171926
Building Distributed Systems with Go and NATS: A Comprehensive Guide
Learn to architect, implement, and scale robust distributed systems. This practical guide emphasizes real-world applications of domain-driven design, hexagonal architecture, and reactive systems, all within the context of the Go programming language and the NATS messaging system.

The book begins with foundational concepts and gradually progresses to advanced architectural patterns. You will first explore synchronous and asynchronous communication mechanisms before learning to design and implement individual services that are resilient, scalable, and responsive. From there, the focus expands to broader system architecture. You will learn to create software aligned with real-world business processes using domain-driven design. Finally, you’ll explore hexagonal architecture and reactive systems to learn how to design modular, resilient systems capable of handling concurrency and asynchronous processing efficiently.

Today, the adoption of distributed systems is accelerating, necessitating a nuanced understanding of distributed architecture principles. Through clear methodologies, architectural discussions, practical examples, and real-world scenarios, you will be ready to build distributed systems with confidence.

What You Will Learn:



• Understand distributed systems basics, including communication prools like req/rep, push/pull, and pub/sub.
• Grasp microservice internals such as service discovery, load balancing, and fault tolerance.
• Apply the concepts of domain-driven design, hexagonal architecture, and reactive systems practically.
• Build robust distributed systems using Go and NATS messaging system using real-world examples.
• Explore the architecture of interconnected components to design modular, maintainable systems.
• Understand handling high concurrency and adapt to evolving demands.

Who This Book is for:

Software developers seeking practical guidance on building scalable distributed systems with GO and NATS, regardless of their level of experience with the Go programming language. Also suitable for aspiring architects and system designers seeking to deepen their understanding of architectural patterns and implementation.

74.99 Pre Order
Building Distributed Systems with Go and NATS: A Comprehensive Guide

Building Distributed Systems with Go and NATS: A Comprehensive Guide

by Delio D'Anna
Building Distributed Systems with Go and NATS: A Comprehensive Guide

Building Distributed Systems with Go and NATS: A Comprehensive Guide

by Delio D'Anna

Paperback(First Edition)

$74.99 
  • SHIP THIS ITEM
    Available for Pre-Order. This item will be released on December 2, 2025

Related collections and offers


Overview

Learn to architect, implement, and scale robust distributed systems. This practical guide emphasizes real-world applications of domain-driven design, hexagonal architecture, and reactive systems, all within the context of the Go programming language and the NATS messaging system.

The book begins with foundational concepts and gradually progresses to advanced architectural patterns. You will first explore synchronous and asynchronous communication mechanisms before learning to design and implement individual services that are resilient, scalable, and responsive. From there, the focus expands to broader system architecture. You will learn to create software aligned with real-world business processes using domain-driven design. Finally, you’ll explore hexagonal architecture and reactive systems to learn how to design modular, resilient systems capable of handling concurrency and asynchronous processing efficiently.

Today, the adoption of distributed systems is accelerating, necessitating a nuanced understanding of distributed architecture principles. Through clear methodologies, architectural discussions, practical examples, and real-world scenarios, you will be ready to build distributed systems with confidence.

What You Will Learn:



• Understand distributed systems basics, including communication prools like req/rep, push/pull, and pub/sub.
• Grasp microservice internals such as service discovery, load balancing, and fault tolerance.
• Apply the concepts of domain-driven design, hexagonal architecture, and reactive systems practically.
• Build robust distributed systems using Go and NATS messaging system using real-world examples.
• Explore the architecture of interconnected components to design modular, maintainable systems.
• Understand handling high concurrency and adapt to evolving demands.

Who This Book is for:

Software developers seeking practical guidance on building scalable distributed systems with GO and NATS, regardless of their level of experience with the Go programming language. Also suitable for aspiring architects and system designers seeking to deepen their understanding of architectural patterns and implementation.


Product Details

ISBN-13: 9798868820885
Publisher: Apress
Publication date: 12/02/2025
Edition description: First Edition
Product dimensions: 7.01(w) x 10.00(h) x (d)

About the Author

Delio D’Anna brings a wealth of knowledge in building scalable and resilient web applications with over 15 years of experience in software engineering and architecture. Throughout his career, he’s been passionate about exploring different programming languages, including PHP, JavaScript, Python, Java, and Go. As a strong advocate for Go, he co-authored a book on the subject and created a live project series for Manning, focused on deploying machine learning models in production. With a keen focus on microservices, scalability, and Domain-Driven Design (DDD), he’s recently delved into machine learning engineering, leveraging Python extensively. As a Chief Technology Officer (CTO), he has spearheaded efforts to ensure the scalability of our microservices AI system, predominantly based on Go and Python technologies. His decision to write this book stems from a desire to share his expertise and practical insights, offering developers a comprehensive guide to building distributed systems with Go and NATS, drawing from his extensive experience in software engineering and architecture.

Table of Contents

1. Overview of Distributed Systems.- 2. Distributed Communication Basics.- 3. NATS Fundamentals.- 4. A Working System.- 5. Anatomy of a Service.- 6. DDD (Domain-Driven Design).- 7. Hexagonal Architecture.- 8. Sample Service.- 9. A Whole System vs a Bunch of Services.- 10. DDD for Systems.- 11. Fully Synchronous Systems.- 12. Aynchronous Systems.- 13. Reactive Systems.- 14. A Working System.

From the B&N Reads Blog

Customer Reviews