Distributed Services with Go (Pragmatic Bookshelf)
Latest Threads About This Book

Hi @travisjeffery, in the Close function on page 33 it seems there is an error, after the i.mmap.Sync is called, the memory is not unmapp...
New

@travisjeffery
The book in many places stands for Raft consensus algorithm being able to replicate all data across the servers. The trut...
New

@travisjeffery The code in server.go is not consistent with the generated grpc code.
I see that the code in the git repo was updated, bu...
New

@travisjeffery
PDF - Page 35
No need to synchronize this function? How mmap work with multiple writers?.
func (i *index) Write(off uin...
New

Can I run proglog from within Intellij without too much trouble? When I try I get
Error: open : no such file or directory
I assume thi...
New

On page 44:
Now add the following Append() function below setup():
“Append() function” should read “Append() method”.
New

On page 42:
We test that we can append a record to a segment, read back the same record, and eventually hit the configured max size for...
New

On page 40:
IsMaxed returns whether the segment has reached its max size, either by writing too much to the store or the index. If you ...
New

On page 40:
Read(off uint64) returns the record for the given offset. Similar to writes, to read a record the segment must first transl...
New

On page 18
These protobuf messages are equivalent to the Go structs shown earlier.
You’ll notice the two syntaxes are very similar: in...
New

rec, err := s.Log.Read(req.Offset)
I get a compiler error saying there is no “Read” method available on the Log struct. Any ideas on wh...
New

When trying to run protoc at this point, I get a different output, I am not sure why. Also, tests fail.
I even tried to see if it would ...
New

Title: Distributed Services with Go
Page 32: protoc api/v1/*.proto
–go_out=.
–go_opt=paths=source_relative
–proto_path=.
When I r...
New

I’m not quite sure what’s going on here, but I’m unable to have to containers successfully complete the Readiness/Liveness checks. I’m im...
New

Just a note for other readers as I have resolved my issue.
On page 141 of the text, we are told to update our TLSConfig in the test to e...
New

Hey @travisjeffery,
After following all steps in Ch10, helm install proglog deploy/proglog fails to start the service. Initially, it was...
New

@travisjeffery
As per instructions up to page 132, I have checked the code against the downloadable resources and A/B’d back and forth. ...
New

Page 72 shows implementation of the nearestMultiple function. (as per below)
func nearestMultiple(j, k uint64) uint64 {
if...
New

@travisjeffery,
In the “Error Handling in gRPC” section (page 63 of the print version) it is said that we should use error codes from th...
New

@travisjeffery
When writing agent_test.go in page 134, the package name is agent_test when other tests use the same package name. For ex...
New

Distributed Services with Go (pg. 207 && pg. 228)
Looking for suggestions to allow load-balancing to work from outside the k8s n...
New

When trying to generate the protobuf .go file, I receive this error:
Unknown flag: --go_opt
libprotoc 3.12.3
MacOS 11.3.1
Googling ...
New

When I attempt to go get github.com/tysonmote/gommap I get an error gommap.go:60:15: undefined: mmap_syscall. Has anyone on an M1 mac bee...
New

It seem to me that in early editions of the book whole server.go file was located in grpc folder. (instructions in the start of chapter 4...
New

Page 39, Print Edition
The description of how the offset is calculated for the index under the definition of Append() is confusing and I...
New

Howdy readers! Travis Jeffrey’s book, Distributed Services with Go, is now in print for those of you who prefer analog. Please support yo...
New

Page 28: It implements io.ReaderAt on the store type.
Sorry if it’s a dumb question but was the io.ReaderAt supposed to be io.ReadAt?
...
New

Hi TJ, Suggestions on Chapter 2 of the book:
To send data (such as your structs) over a network
Not sure whether a layperson would tra...
New

Hi Travis! Thank you for the cool book! :slight_smile:
I made a list of issues and thought I could post them chapter by chapter. I’m rev...
New

Test Discovery and Balancing End-to-End
Reader is instructed to Run your tests again and watch them pass. However, the reader will encou...
New
Most Active This Week
Most Active This Month
Most Active This Year
Most Active Last Three Years

I’m not quite sure what’s going on here, but I’m unable to have to containers successfully complete the Readiness/Liveness checks. I’m im...
New

Page 28: It implements io.ReaderAt on the store type.
Sorry if it’s a dumb question but was the io.ReaderAt supposed to be io.ReadAt?
...
New

Hi @travisjeffery, in the Close function on page 33 it seems there is an error, after the i.mmap.Sync is called, the memory is not unmapp...
New

@travisjeffery
The book in many places stands for Raft consensus algorithm being able to replicate all data across the servers. The trut...
New
Most Active Over Three Years

When trying to generate the protobuf .go file, I receive this error:
Unknown flag: --go_opt
libprotoc 3.12.3
MacOS 11.3.1
Googling ...
New

page 20: … protoc command…
I had to additionally run the following go get commands in order to be able to compile protobuf code using go...
New

Take your Go skills to the next level by learning how to design, develop, and deploy a distributed service. Start from the bare essential...
New

In Chapter 3, the source for index introduces Config on page 31, followed by more code including tests; Config isn’t introduced until pag...
New

This test is broken right out of the box…
— FAIL: TestAgent (7.82s)
agent_test.go:77:
Error Trace: agent_test.go:77
agent_test.go:...
New

Hi Travis! Thank you for the cool book! :slight_smile:
I made a list of issues and thought I could post them chapter by chapter. I’m rev...
New

When I attempt to go get github.com/tysonmote/gommap I get an error gommap.go:60:15: undefined: mmap_syscall. Has anyone on an M1 mac bee...
New

Once deployed, I am not able to access the service outside the prolog pods. I can run the client successfully and access the service from...
New

Page 72 shows implementation of the nearestMultiple function. (as per below)
func nearestMultiple(j, k uint64) uint64 {
if...
New

Code at the end of page for the WriteALogPackage/internal/log/segment.go
says p, err := s.store.Read(pos), should be ReadAt I think
New

Hey y’all, just wanted to provide some context for removing the testing chapters from the table of contents.
For all books PragProg has ...
New

Failure with Mutual TLS
Title: Distributed Services with Go (pdf page 85)
Tests fails when server attempts to use mutual TLS (setting t...
New

Hey y’all,
If you got the first beta of the book and hit issues make sure you download the second beta that came out last week. The seco...
New

Hi,
I’m currently reading your book. By doing so, I like to rewrite the code by myself. It helps me to deeply understand how it works.
...
New

Distributed Services With Go -
I went to SecureYourServices folder and executed make gencert. I am getting the following error.
2020/0...
New
Publisher:
Pragmatic Bookshelf
Latest in Distributed Services with Go
Get money off!

The Pragmatic Bookshelf
35% off any eBook
Use the coupon code "devtalk.com" to get 35% off any eBook published by PragProg!