Loading video player...
🚀 Go Distributed Microservices (Full Production Course) Build a **real-world distributed backend system** in Go using modern microservices architecture. This course takes you from a simple service to a fully distributed system using **Docker, PostgreSQL, RabbitMQ, RPC, and gRPC**. You’ll learn how production-grade backend systems are actually designed, connected, and scaled. 🔗 **Source Code (GitHub Repo):** [https://github.com/nuaiman/go-distributed-microservices](https://github.com/nuaiman/go-distributed-microservices) --- # 🧠 What You’ll Build A complete distributed system with: * Broker Service (API Gateway style entry point) * Authentication Microservice (PostgreSQL) * Logger Microservice (MongoDB) * Mailer Microservice * RabbitMQ Event System * RPC Communication Layer * gRPC Communication Layer * Docker & Docker Compose Infrastructure --- # ⚙️ Technologies Used * Go (Golang) * Docker & Docker Compose * PostgreSQL * MongoDB * RabbitMQ * REST APIs * RPC * gRPC * Microservices Architecture --- # 📚 Full Course Timeline ## 🟢 Introduction 0:00 – Intro 0:34 – Courses Repo & Support ## 🟡 Broker Service 1:25 – Creating Broker Service 13:53 – Standardizing JSON Response & Request 29:08 – First Endpoint in Broker Service 33:52 – Docker Support for Broker Service 38:17 – Docker Compose (Part 1) 41:23 – Makefile Setup ## 🔵 Authentication Microservice 43:18 – Auth Microservice Introduction 46:45 – Adding PostgreSQL to Auth Service 59:25 – Dockerizing Postgres + Auth Service 1:09:36 – Adding Data in PostgreSQL 1:11:05 – Auth Endpoint & Handler 1:19:22 – Broker → Auth (REST Integration) 1:34:26 – Testing Auth Flow ## 🟣 Logger Service 1:35:20 – Adding Logger & MongoDB to Docker Compose 1:41:01 – Logger Service Setup 1:43:31 – LogEntry Design 1:46:51 – Logger main.go Setup 1:52:06 – Finishing Logger Microservice 1:57:50 – Auth → Logger (HTTP Call) 2:04:43 – Broker → Logger (HTTP Call) 2:12:47 – Testing Logger Service ## 🟠 Mailer Service 2:15:09 – Introduction to Mailer Service 2:18:33 – Creating Stub Mailer Service 2:20:08 – mailer.go Implementation 2:36:49 – Mailer Routes & Handler 2:46:18 – Adding Mailer to Docker Compose 2:47:05 – Broker → Mailer (HTTP) 2:55:02 – Testing Mailer Service ## 🔴 RabbitMQ (Event Driven Architecture) 2:59:59 – Introduction to RabbitMQ 3:03:51 – Connecting to RabbitMQ 3:13:15 – Events Design 3:15:56 – Consumers Setup 3:38:38 – Listener Service Setup 3:42:08 – AMQP Emitter in Broker 3:50:13 – Broker → RabbitMQ Integration 3:52:37 – Updating Broker Handler for Events 3:59:38 – Testing RabbitMQ Flow ## 🟤 RPC Communication 4:02:06 – RPC in Logger Service 4:14:56 – Broker → Logger via RPC 4:21:40 – Fixing & Testing RPC ## 🟣 gRPC Implementation 4:23:21 – Introduction to gRPC 4:29:18 – Creating logs.proto 4:33:05 – Generating gRPC Code 4:35:07 – gRPC Server Implementation 4:42:23 – Listening for gRPC Requests 4:49:03 – Broker → Logger via gRPC 4:56:56 – Testing gRPC Communication --- # 🎯 Who This Course Is For * Backend developers learning Go * Developers moving into microservices * Anyone building scalable distributed systems * Engineers preparing for system design interviews # 💡 What You’ll Learn at the End By the end of this course, you will understand: * How real microservices communicate (REST, RPC, gRPC, Events) * How to structure backend systems properly * How to use Docker in real production setups * How event-driven systems work with RabbitMQ * How to design scalable distributed architectures