Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Distributed Services with Go
About the Pragmatic Bookshelf
Table of Contents
Early Praise for Distributed Service s with Go
Acknowledgments
Introduction
Who This Book Is For
What’s in This Book
Online Resources
Pa rt 1 Get Started
Chapter 1: Let’s Go
How JSON over HTTP Services Fits into Distribut ed Systems
Set Up the Project
Build a Commit Log Prototype
Build a JSON over HTTP Server
Run Your Server
Test Your API
What You Learned
Chapter 2: Structure Data with Protocol Buffers
Why Use Protocol Buffers?
Install the Protocol Buffer Compiler
Define Your Domain Types as Protocol Buffers
Compile Protocol Buffers
Work with the Generated Code
What You Learned
Chapter 3: Write a Log Package
The Log Is a Powerful Tool
How Logs Work
Build a Log
What You Learned
Part 2: Network
Chapter 4: Serve Requests with gRPC
What Is gRPC?
Goals When Building a Service
Define a gRPC Service
Compile with the gRPC Plugin
Implement a gRPC Server
Register Your Server
Test a gRPC Server and Client
What You Learned
Chapter 5: Secure Your Services
Secure Services in Three Steps
Authenticate the Server with TLS
Authenticate the Client with Mutual TLS Authe ntication
Authorize with Access Control Lists
What You Learned
Chapter 6: Observe Your Systems
Three Types of Telemetry Data
Make Your Service Observable
What You Learned
Part 3: Distribute
Chapter 7: Server-to-Server Service Discovery
Why Use Service Discovery?
Embed Service Discovery
Discover Services with Serf
Request Discovered Services and Re plicate Logs
Test Discovery and the Service End-to-End
What You Learned
Chapter 8: Coordinate Your Services with Consensus
What Is Raft and How Does It Work?
Implement Raft in Our Service
Multiplex to Run Multiple Services on One Por t
What You Learned
Chapter 9: Discover Servers and Load Balance from the Client
Three Load-Balancing Strategies
Load Balance on the Client in gRPC
Make Servers Discoverable
Resolve the Servers
Route and Balance Requests with Pickers
Test Discovery and Balancing End-to-End
What You Learned
Part 4: Deploy
Chapter 10: Deploy Applications with Kubernetes Locally
What Is Kubernetes?
Install kubectl
Use Kind for Local Development and Continuous Integration
Write an Agent Command-Line Interface
Build Your Docker Image
Configure and Deploy Your Service with Helm
Advertise Raft on the Fully Qualified Domain Name
What You Learned
Chapter 11: Deploy Applications with Kubernetes to the Cloud
Create a Google Kubernetes Engine Cluster
Create Custom Controllers with Metacontroller
Deploy to the Internet
What You Learned
You May Be Interested In…
← Prev
Back
Next →
← Prev
Back
Next →