Distributed Services with Go
eBook - ePub

Distributed Services with Go

Your Guide to Reliable, Scalable, and Maintainable Systems

  1. 258 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Distributed Services with Go

Your Guide to Reliable, Scalable, and Maintainable Systems

About this book

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, work your way through networking a client and server, turn that single-node application into a distributed system with service discovery and consensus, and then deploy your service to the cloud. 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.

Q&A with Travis Jeffery:

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.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Distributed Services with Go by Travis Jeffery in PDF and/or ePUB format, as well as other popular books in Computer Science & Software Development. We have over one million books available in our catalogue for you to explore.

Table of contents

  1. Distributed Services with Go