shijuvar / go-distributed-sys Guidance for building event-driven distributed systems and microservices in Go with NATS JetStream, gRPC and CockroachDB