1.

Record Nr.

UNINA9911008897003321

Autore

Jeffery Travis

Titolo

Distributed services with Go : your guide to reliable, scalable, and maintainable systems / / Travis Jeffery

Pubbl/distr/stampa

[Raleigh, North Carolina] : , : The Pragmatic Programmers, LLC, , [2021]

©2021

ISBN

9781680508383

1680508385

9781680508390

1680508393

Edizione

[First edition.]

Descrizione fisica

1 online resource (245 pages)

Disciplina

005.2762

Soggetti

Go (Computer program language)

Electronic data processing - Distributed processing

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Nota di contenuto

Part 1: Get started.  1. Let's go -- 2. Structure data with protocol buffers -- 3. Write a log package -- Part 2: Network.  4. Serve requests with gRPC -- 5. Secure your services -- 6. Observe your systems -- Part 3: Distribute.  7. Server-to-server service discovery -- 8. Coordinate your services with consensus -- 9. Discover servers and load balance from the client -- Part 4: Deploy.  10. Deploy applications with Kubernetes locally -- 11. Deploy applications with Kubernetes to the cloud.

Sommario/riassunto

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+