Buy New
-
To see product details, add this item to your cart.
Ships from: Amazon.com Sold by: Amazon.com
Used - Very Good
-
To see product details, add this item to your cart.
Ships from: BooksRun Sold by: BooksRun
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Distributed Services with Go: Your Guide to Reliable, Scalable, and Maintainable Systems
Purchase options and add-ons
This is the book for Gophers who want to learn how to build distributed systems. You know the basics of Go and are eager to put your knowledge to work. Build distributed services that are highly available, resilient, and scalable. This book is just what you need to apply Go to real-world situations. Level up your engineering skills today.
Take your Go skills to the next level by learning how to design, develop, and deploy a distributed service. Start from the bare essentials of storage handling, then work your way through networking a client and server, and finally to distributing server instances, deployment, and testing. All this will make coding in your day job or side projects easier, faster, and more fun.
Create your own distributed services and contribute to open source projects. Build networked, secure clients and servers with gRPC. Gain insights into your systems and debug issues with observable services instrumented with metrics, logs, and traces. Operate your own Certificate Authority to authenticate internal web services with TLS. Automatically handle when nodes are added or removed to your cluster with service discovery. Coordinate distributed systems with replicated state machines powered by the Raft consensus algorithm. Lay out your applications and libraries to be modular and easy to maintain. Write CLIs to configure and run your applications. Run your distributed system locally and deploy to the cloud with Kubernetes. Test and benchmark your applications to ensure they're correct and fast.
Dive into writing Go and join the hundreds of thousands who are using it to build software for the real world.
What You Need:
Go 1.13+ and Kubernetes 1.16+
- ISBN-101680507605
- ISBN-13978-1680507607
- Edition1st
- PublisherPragmatic Bookshelf
- Publication dateApril 20, 2021
- LanguageEnglish
- Dimensions7.5 x 0.55 x 9.25 inches
- Print length260 pages
Frequently bought together

Customers who viewed this item also viewed
- 100 Go Mistakes and How to Avoid ThemPaperbackFREE Shipping by AmazonGet it as soon as Sunday, Sep 20Only 15 left in stock - order soon.
- Learning Go: An Idiomatic Approach to Real-World Go ProgrammingPaperbackFREE Shipping by AmazonGet it as soon as Sunday, Sep 20
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable SystemsPaperbackFREE Shipping by AmazonGet it as soon as Sunday, Sep 20
- Learn Concurrent Programming with GoPaperbackFREE Shipping by AmazonGet it as soon as Monday, Sep 21Only 13 left in stock (more on the way).
- Efficient Go: Data-Driven Performance OptimizationPaperbackFREE Shipping by AmazonGet it as soon as Sunday, Sep 20Only 9 left in stock (more on the way).
Customers also bought or read
- Concurrency in Go: Tools and Techniques for Developers
Paperback$35.67$35.67$3.99 delivery Sep 28 - Oct 1 - Learning Go: An Idiomatic Approach to Real-World Go Programming
Paperback$43.64$43.64FREE delivery Sun, Sep 20 - Database Internals: A Deep Dive into How Distributed Data Systems Work
Paperback$36.33$36.33FREE delivery Sun, Sep 20 - Mastering Go: Leverage Go's expertise for advanced utilities, empowering you to develop professional software
Paperback$35.00$35.00FREE delivery Mon, Sep 21 - Operating Systems: Three Easy Pieces#1 Best SellerComputer Operating Systems Theory
Paperback$28.27$28.27Delivery Mon, Sep 21 - Powerful Command-Line Applications in Go: Build Fast and Maintainable Tools
Paperback$38.03$38.03FREE delivery Sun, Sep 20 - System Programming Essentials with Go: System calls, networking, efficiency, and security practices with practical projects in Golang
Paperback$41.99$41.99FREE delivery Mon, Sep 21 - Event-Driven Architecture in Golang: Building complex systems with asynchronicity and eventual consistency
Paperback$51.99$51.99FREE delivery Mon, Sep 21 - Site Reliability Engineering: How Google Runs Production Systems
Paperback$23.27$23.27Delivery Mon, Sep 21 - Cloud Native Go: Building Reliable Services in Unreliable Environments
Paperback$44.07$44.07FREE delivery Mon, Sep 21 - Patterns of Distributed Systems (Addison-Wesley Signature Series (Fowler))
Paperback$35.44$35.44FREE delivery Mon, Sep 21 - Build a Large Language Model (From Scratch)#1 Best SellerComputer Neural Networks
Paperback$49.24$49.24FREE delivery Sun, Sep 20 - Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
Paperback$43.99$43.99FREE delivery Mon, Sep 21 - Building Microservices: Designing Fine-Grained Systems
Paperback$44.49$44.49FREE delivery Mon, Sep 21 - Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Systems Using Kubernetes
Paperback$45.76$45.76FREE delivery Sun, Sep 20 - Design Patterns: Elements of Reusable Object-Oriented Software
Hardcover$24.35$24.35Delivery Mon, Sep 21 - How Linux Works, 3rd Edition: What Every Superuser Should Know#1 Best SellerLinux Servers
Paperback$34.49$34.49Delivery Sun, Sep 20 - Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
Paperback$30.29$30.29Delivery Sun, Sep 20 - Fundamentals of Data Engineering: Plan and Build Robust Data Systems
Paperback$40.00$40.00FREE delivery Sep 29 - Oct 14 - Designing Multi-Agent Systems: Principles, Patterns, and Implementation for AI Agents
Paperback$46.39$46.39FREE delivery Mon, Sep 21 - The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change
Paperback$26.39$26.39Delivery Sun, Sep 20 - Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
Paperback$43.99$43.99FREE delivery Sun, Sep 20 - The Elements of Computing Systems, second edition: Building a Modern Computer from First Principles
Paperback$60.00$60.00FREE delivery Mon, Sep 21 - The Linux Programming Interface: A Linux and UNIX System Programming Handbook#1 Best SellerUnix Programming
Hardcover$61.99$61.99FREE delivery Wed, Sep 23
From the Publisher
From the Preface
Who This Book Is For
This book is for intermediate to advanced developers who want to learn how to build distributed services. I’ve geared the book toward Go programmers, and prior Go experience will help, but you don’t have to be an expert. This book shows you how to build distributed services, and the concepts are the same regardless of what language you use. So if you’re writing distributed services in Go, you can take full advantage of this book; if not, you can apply the ideas I present here in any language.
We will design, develop, and deploy a distributed service to explore what Go can do. We’ll develop and deploy the service in layers: from the bare essentials of storage handling, to the networking of a client and server, to distributing server instances, deployment, and testing. I divided this book into four parts that parallel those layers.
Part I — Get Started: We’ll begin with the basic elements: building our project’s storage layer and defining its data structures.
Part II — Network: This part is where we’ll make our service work over a network.
Part III — Distribute: In this part we’ll make our service distributed—highly available, resilient, and scalable.
Part IV — Deploy: Here’s where we’ll deploy our service and make it live.
Powerful Command-Line Applications in Go
|
|
|---|---|
| Customer Reviews |
4.5 out of 5 stars 62
|
| Also from The Pragmatic Bookshelf | Build Fast and Maintainable Tools |
Editorial Reviews
Review
―Brian Ketelsen, Principal Developer Advocate, Microsoft; and Organizer, GopherCon
"In this practical, engaging book, Travis Jeffery shines a light on the path tobuilding distributed systems. Read it, learn from it, and get coding!"
―Jay Kreps, CEO, Confluent, Inc., and Co-Creator of Apache Kafka
"Travis Jeffery distills the traditionally academic topic of distributed systems downto a series of practical steps to get you up and running. The book focuses on thereal-world concepts used every day by practicing software engineers. It's a greatread for intermediate developers getting into distributed systems or for seniorengineers looking to expand their understanding."
―Ben Johnson, Author of BoltDB
"For any aspiring Gopher, Travis provides a gentle introduction to complex topicsin distributed systems and provides a hands-on approach to applying the concepts."―Armon Dadgar, HashiCorp Co-Founder
From the Author
Q: What makes this book different?
A: This book walks the reader through building a real-world software project (a self-contained, persistent event-stream service) from start to finish. There isn't a book that walks through building a complete system like this in any language. This book introduces distributed systems practically, explaining the pieces that make up a distributed system and showing how they fit together.
Q: What will I take away after reading this book?
A: You'll learn how distributed systems work, and how to build your own distributed services, and how to contribute to others.
Q: How is the book structured?
A: The book has four parts:
- Getting Started: Persisting events in a log;
- Network: Building a single instance networked service;
- Distribute: Distributing that service as a cluster; and
- Deploy: Deploying that cluster.
In each chapter, you learn about a problem in distributed systems (for example: consensus, service discovery, load balancing) and you build a part of your service to solve that problem. By the end, you will have built and deployed a functioning event-streaming system.
Q: How experienced with Go should I be to follow this book?
A: This book focuses on teaching how to build distributed systems using Go, and not teaching Go itself. So you should know the language. However, I walk through building the whole project code snippet by code snippet and explain what's going on in each snippet. So if you don't know Go, you can work your way through the book if you're patient and use other resources to learn the syntax. I've also heard from people who've followed the book and implemented the equivalent code in other languages.
About the Author
Product details
- Publisher : Pragmatic Bookshelf
- Publication date : April 20, 2021
- Edition : 1st
- Language : English
- Print length : 260 pages
- ISBN-10 : 1680507605
- ISBN-13 : 978-1680507607
- Item Weight : 2.31 pounds
- Dimensions : 7.5 x 0.55 x 9.25 inches
- Best Sellers Rank: #997,351 in Books (See Top 100 in Books)
- #223 in Software Design Tools
- #1,198 in Software Development (Books)
- #1,757 in Computer Programming Languages
- Customer Reviews:
About the author

Travis Jeffery is a Canadian software maker and writer. He’s created software since 2001; hacked on open source projects like Jocko, Timecop, Mocha; and built several startups from the ground up, including Segment and Confluent.














![The DIY Off Grid Solar Power Bible: [10 in 1] The Most Complete and Updated Guide to Design, Install, and Maintain Solar Energy Systems for Tiny Homes, Cabins, Rvs, and Boats](https://m.media-amazon.com/images/I/51vt-csDm8L._AC_SR100,100_QL65_.jpg)



