Book #19 - Distributed Services with Go

Distributed Services with Go: Your Guide to Reliable Scalable, and Maintainable Systems
by Travis Jeffery (2021)

Thursday evenings - 7 pm pacific time

Meetup: https://www.meetup.com/Los-Gatos-Rust-Reading-Group/events/279796197
Zoom: https://us02web.zoom.us/j/84281187589
Pragmatic Programmers: https://pragprog.com/titles/tjgo/distributed-services-with-go/
Source code (zip file): https://media.pragprog.com/titles/tjgo/code/tjgo-code.zip
Source code (github):

Manoj and I decided to stop here with the book. I enjoyed the first chapters, but the last two and the ones ahead aren’t interesting me as much. Manoj feels similarly. I’d prefer to spend more time on Kubernetes and Istio now. This book will be a nice reference in the future for starting out with the tools it describes in these latter chapters.

Chapter 6
Observe Your Systems

August 5, 2021

Presenter

Chapter 6
Observe Your Systems

August 5, 2021

Presenter

Three types of Telemetry Data

Manoj & Casey

Make Your Service Observable

Manoj

Chapter 5
Secure Your Service

July 29, 2021

Presenter

Chapter 5
Secure Your Service

July 29, 2021

Presenter

Secure Services in Three Steps

Manoj

Authenticate the Server with TLS

Casey

Authenticate the Client with Mutual TLS Authentication

Manoj & Casey

Authorize with Access Control Lists

Manoj & Casey

Note on Chapter 5: In order to get the code to work properly, I found I had to change the ca-config.json file so that the expiry was included separately for both the server and client (as in the book) instead of as a default (as in the github code)

Chapter 4
Serve Requests with gRPC

July 22, 2021

Presenter

Chapter 4
Serve Requests with gRPC

July 22, 2021

Presenter

What is gRPC?

Casey

Goals When Building a Service

Casey

Define a gRPC Service

Casey

Compile with the gRPC Plugin

Casey

Implement a gRPC Server

Casey

Register Your Server

Casey

Test a gRPC Server and Client

Casey

Attendees: Max, Amit

Chapter 3
Write a Log Package

July 15, 2021

Presenter

Chapter 3
Write a Log Package

July 15, 2021

Presenter

The Log is a Powerful Tool

Casey

How Logs Work

Casey

Build a Log
Code the Store
Write the Index
Create the Segment
Code the Log

Casey

 

Chapter 2
Structure Data with Protocol Buffers

June 10, 2021

Presenter

Chapter 2
Structure Data with Protocol Buffers

June 10, 2021

Presenter

Why Use Protocol Buffers?

Rishi

Install the Protocol Buffer Compiler

Casey

Define Your Domain Types as Protocol Buffers

Amish

Compile Protocol Buffers

Casey

Work with the Generated Code

Amish

 

Chapter 1
Let’s Go

June 3, 2021

Presenter

Chapter 1
Let’s Go

June 3, 2021

Presenter

How JSON over HTTP Services Fits into Distributed Systems

Amish

Set Up the Project
Build a Commit Log Prototype

Casey

Build a JSON over HTTP Server
Run Your Server
Test Your API

Casey