Complete Microservices With Go

Posted By: ELK1nG

Complete Microservices With Go
Published 7/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 14.55 GB | Duration: 19h 49m

Building, scaling and deploying distributed systems in Golang and Kubernetes

What you'll learn

Learn advanced Golang patterns

Learn the Fundamentals of building with Microservices in Go

Build and Deploy production grade Distributed Systems

Learn how to design a complex system from scratch

Learn to Weight and Think about Software Design Decisions

Learn How to Scale and manage Traffic

Requirements

Basic Go Knowledge

Description

In this project‑driven course, you’ll build the backend microservices system for a Uber‑style ride‑sharing app from the ground up—using Go, Docker, and Kubernetes.The course includes an introduction to Advanced Go mini-course, so you can expect the full package if you are new to Go.By the end, you’ll have a fully deployed, horizontally scalable ride‑sharing system that’s ready for real traffic. Plus, you’ll walk away with reusable template for building future distributed projects—accelerating your path to become a lead engineer.The project we'll build is composed of multiple services that are orchestrated with Kubernetes, you have this beautiful UI, where if you click on the map you’ll be able to preview a route to your destination and then by selecting the desired package, request a ride from a pool of available drivers.This course aims to provide you with the foundational knowledge required to build and understand distributed backend systems, implement industry best practices, and create production-ready microservices architecture that are scalable and maintainable. It is not just a step-by-step tutorial, but a comprehensive learning experience that prepares you for real-world scenarios.Legal Notice:All product and company names, logos, and trademarks featured on this thumbnail are the property of their respective owners. Their use in this course does not imply any affiliation, sponsorship, or endorsement by these companies.

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Project Overview

Lecture 3 Tech Stack Overview

Lecture 4 Course Requirements

Lecture 5 How to consume the course?

Section 2: Microservices Architecture Design

Lecture 6 Coming from a Monolith

Lecture 7 Microservices Guiding Design Principles

Lecture 8 Communication Styles

Lecture 9 Architecture Definition Process

Section 3: Advanced Go - Crash course

Lecture 10 Effective Error Handling

Lecture 11 Interfaces

Lecture 12 Testing

Lecture 13 Pointers

Lecture 14 Goroutines

Lecture 15 Context and Timeouts

Lecture 16 Concurrency with Channels

Lecture 17 Maps

Lecture 18 Map Concurrency & Mutexes

Section 4: Development Environment Setup

Lecture 19 Windows Users Setup

Lecture 20 Mac/Linux Setup

Lecture 21 Structuring a Microservice project

Lecture 22 Theory: Clean Architecture & Repository Pattern

Lecture 23 Part 1: Layered Architecture

Lecture 24 Part 2: Repository Pattern

Lecture 25 Why Kubernetes and Tilt

Lecture 26 More on Kubernetes

Section 5: API Gateway and HTTP Servers

Lecture 27 Role of the API Gateway

Lecture 28 Implementing an HTTP Server

Lecture 29 External API communication (OSRM)

Lecture 30 Preparing for External API Failures

Lecture 31 Gracefull shutdown

Section 6: WebSockets

Lecture 32 Understanding WebSockets

Lecture 33 Implementing WebSocket connections

Lecture 34 Handling CORS

Section 7: Service Communication with gRPC

Lecture 35 gRPC Introduction

Lecture 36 Protocol Buffer file generation process

Lecture 37 Defining the Trip Proto

Lecture 38 Implementing the Gateway Trip gRPC Client

Lecture 39 gRPC Server implementation on Trip Service

Lecture 40 Preview Trip Handler - Part #1

Lecture 41 Preview Trip Handler - Part #2

Lecture 42 Why & What are Ride Fares

Lecture 43 Ride Pricing Estimation

Lecture 44 Implementing the TripStart gRPC handler

Section 8: Kubernetes Essentials

Lecture 45 Introduction to Kubernetes

Lecture 46 Kubernetes Under the Hood

Lecture 47 Kubernetes Components

Lecture 48 Creating Deployment Files

Lecture 49 Doing our first production deployment

Section 9: Drivers Service

Lecture 50 Bootstrapping the Service

Lecture 51 Small Tiltfile Compilation Fix

Lecture 52 Final Adjustments to the Route

Section 10: Asynchronous Communication

Lecture 53 Introduction to Async communication

Lecture 54 Setting up RabbitMQ

Lecture 55 Connecting to RabbitMQ

Lecture 56 RabbitMQ Services Dependency

Lecture 57 Publishing the First Message

Lecture 58 Message Durability

Lecture 59 Consuming Messages

Lecture 60 Message Distribution & Acknowledgment

Lecture 61 Fair Dispatch

Lecture 62 The Pub/Sub Pattern

Lecture 63 Implementing the Exchange & Topics flow

Lecture 64 JSON Message Sending & Consuming

Lecture 65 Finding a Suitable Driver

Section 11: Real-time Notifications

Lecture 66 Understanding how to notify our users

Lecture 67 WebSocket Connection Manager

Lecture 68 Queue Consumer

Lecture 69 Handling incoming messages from the driver

Lecture 70 Listening for Trip Accept event

Lecture 71 Declining a Trip Request

Section 12: Payments

Lecture 72 Payment Flow Overview

Lecture 73 Payment Service setup

Lecture 74 Adding the Stripe secret key

Lecture 75 Stripe Processor Implementation

Lecture 76 Listening to the Payment Event

Lecture 77 Stripe Payment Webhook

Section 13: Observability

Lecture 78 Intro to Distributed Tracing

Lecture 79 Setting up Tracing

Lecture 80 Jeager Exporter

Lecture 81 HTTP Instrumentation

Lecture 82 gRPC Instrumentation

Lecture 83 RabbitMQ Instrumentation

Section 14: Reliability

Lecture 84 Understanding DLQ and Retries

Lecture 85 Implementing Message Retries

Lecture 86 Implementing DLQ and DLX

Section 15: Databases with MongoDB

Lecture 87 Introduction to MongoDB

Lecture 88 MongoDB Connection

Lecture 89 MongoDB Repository

Lecture 90 Adding BSON to the Domain Structs

Section 16: Production Deployment

Lecture 91 Dockerizing our project for production

Lecture 92 Kubernetes Cluster Deployment

Lecture 93 Port Forwarding

Lecture 94 (optional) Frontend Deployment

Section 17: What's Next?

Lecture 95 Congratulations!

Lecture 96 Capstone Project Ideas

Beginners and Intermediate Developers,Already Experienced software engineers from another language