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
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