Inter-Service Communication with Go: Mastering protocols, queues, and event-driven architectures in Go
- Length: 194 pages
- Edition: 1
- Language: English
- Publisher: BPB Publications
- Publication Date: 2024-04-16
- ISBN-10: 9355517289
- ISBN-13: 9789355517289
Communication is simple if you know the right way
Key Features
- Understand the core concepts related to inter-service communication.
- Learn and understand different inter-service communication approaches through practical examples.
- Recognize the most suitable communication concept for your software solution.
Description
This book will cover different concepts of inter-service communication. They will be demonstrated through the Go programming language, its standard library, and popular third-party packages for concepts.
Begin by understanding basic concepts such as clients, servers, and communication methods. Explore RESTful APIs and HTTP, the backbone of many systems. Learn about protocol buffers and gRPC for efficient data exchange. For asynchronous communication, discover message queuing with RabbitMQ and event-driven patterns with Redis. Lastly, explore event-driven architecture (EDA) and Apache Kafka for implementing this style of communication.
After reading this book, a reader can determine which communication concept is most suitable for the software solution based on software solution requirements.
What you will learn
- Decide which inter-service communication concept is most suitable for a particular software solution.
- Implement different communication approaches with the Go programming language.
- Utilize implementations from the Go’s standard library and third-party packages.
- Use API design best practices.
- Avoid issues that can arise from the wrong choice of communication concept.
Who this book is for
It caters to developers, software engineers, and architects looking to master inter-service communication for their Go projects.
Table of Contents
1. Fundamentals of Inter-Service Communication
2. RESTful Communication
3. HTTP
4. Protocol Buffers
5. Message Queuing Protocols
6. Publisher/Subscriber
7. Event-Driven Architecture
8. Final Observations