1.

Record Nr.

UNINA9911049154503321

Autore

D'Anna Delio

Titolo

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

Pubbl/distr/stampa

Berkeley, CA : , : Apress : , : Imprint : Apress, , 2025

ISBN

979-88-6882-089-2

Edizione

[1st ed. 2025.]

Descrizione fisica

1 online resource (397 pages)

Collana

Professional and Applied Computing Series

Disciplina

005.2/762

Soggetti

Go (Computer program language)

Electronic data processing - Distributed processing

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Description based upon print version of record.

Includes index.

Nota di contenuto

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.

Sommario/riassunto

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. You Will: Understand distributed systems basics, including communication protocols 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. .