
Explore the codebase to be broken into microservices, with docker support, a database, and Redis cache. See how go fiber, routes, controllers, and cookie-based JWT authentication tie the app together.
Create the email microservice by initializing a go module, defining the email model and main file, and preparing docker and compose files while removing Redis and setting up for Kafka.
Test the email microservice by listening to events, extracting message data, and sending emails via docker; verify Kafka delivery and finalize the first microservice.
Refactor user requests into a dedicated user service to centralize endpoints, handle get and post requests, manage cookies and headers, and simplify repeated code across the monolith.
refactor the monolith by introducing a generic service struct with endpoint mapping, enabling multiple services like user and post, and implementing get and post helpers for clean, private request handling.
Complete the auth controller by adding update and password endpoints to the user microservice, implement put and delete requests, and verify updates through login and user data changes.
Leverage Docker networks to connect the user microservice with other services, using a dedicated external users network and explicit container names, enabling secure internal API calls and faster inter-service communication.
Investigate and validate kafka-based event flows by testing producers and consumers, debugging nil references, and confirming event delivery across admin and ambassador services in a microservices setup.
Set up and populate the database, import data, wire checkout and order routes, and configure the controllers to break the monolith into microservices, preparing for kafka integration.
Configure kafka for golang microservices by setting up topics and listeners, wiring producers and consumers across checkout, admin, and ambassador services, and propagating order and revenue events.
Copy the production Dockerfile and adapt docker-compose for Kubernetes, then create a Google Cloud SQL instance and configure host, port, and credentials.
Deploy the users microservice by building with docker compose, pushing images to Google Cloud Registry, and updating Kubernetes YAML with latest tags, then expose via ingress and test endpoints.
Convert the composite product YAML to Kubernetes manifests, configure admin microservice deployments and services, set secrets and private IPs, then deploy the admin image to the cluster.
configure the ambassador microservice by converting docker compose to a product yaml, provisioning the ambassador db, Redis, and Kafka topics, and generating Kubernetes manifests for deployment.
Deploy the checkout microservice by provisioning and cloning the database, updating docker compose and environment values, and wiring products, orders, and kubernetes files for a complete checkout workflow.
Convert the checkout folder's docker compose to a single Kubernetes file, remove annotations and strategy notations, adjust the service and resources, then deploy checkout.
Deploy the checkout microservice by building and pushing images to Google Cloud Registry, update IPs and values, and apply ingress so all services share the same IP with different endpoints.
Welcome to Golang and Kafka: Breaking a Monolith to Microservices Course - the course that will take your Golang development skills to the next level.
Here are some interesting facts:
The average Golang developer salary in the US is $131,844
However:
The average salary for the Golang developers that know the Microservices Architecture in the US is $160,000
This means if you are a Golang developer you have the potential to increase your salary by up to 20% just by purchasing this course!
How this course works
This course will start with a pre-built monolith, the building of the starting app won't be covered in this course. So in this course, you will start immediately with Microservices Architecture, this course is intended for people that have a solid understanding of Golang and want to learn in a short amount of time more advanced concepts. I am very clear and precise in my way of teaching so this course won't have unnecessary explanations on my part, I will explain what is needed when it is needed.
If you are interested in learning how the Monolith is created you can check my other courses:
Angular Material, Universal & Golang: A Rapid Guide
React, Next.js and Golang: A Rapid Guide - Advanced
Vue 3, Nuxt.js and Golang: A Rapid Guide - Advanced
In those courses, you will learn how to build a SPA with your favorite frontend framework.
What you will learn in this course
In this course, you will start with a pre-built monolith and you will learn:
What is the Microservices Architecture
How to Configure Kafka with Golang
Internal Http Requests
How to make a Microservice only for Authentication Purposes
Run Docker with multiple networks
Produce Kafka Events to multiple topics
Create Custom Middlewares & Services
Import Data from multiple databases
About Me
I'm a FullStack Developer with 10+ years of experience. I'm obsessed with clean code and I try my best that my courses have the cleanest code possible.
My teaching style is very straightforward, I will not waste too much time explaining all the ways you can create something or other unnecessary information to increase the length of my lectures. If you want to learn things rapidly then this course is for you.
If you have any coding problems I will offer my support within 12 hours when you post the question. I'm very active when trying to help my students.
So what are you waiting for, give this course a try and you won't get disappointed.