
Learn how to break a Laravel monolith into microservices using Kafka, with Docker, separate databases, and event-driven communication across admin, ambassador, checkout, and user services.
Set up Kafka inside a Dockerized Laravel environment and configure a Kafka consumer to subscribe to topics. Run an Artisan command to consume messages from Confluent Cloud and send emails.
Produce messages in a Laravel microservices setup by creating an artisan produce job, wiring a Kafka producer and topic, and dispatching queue work to send a message.
Remove the user from controllers and use a user service to fetch all users and ambassadors, exposing a users index and a show endpoint (users/{id}) filtered by is_admin.
Create the checkout microservice with its own database and Kafka integration. Integrate communication with the user service to enable checkout workflows.
Move the controllers to microservices by extracting the link and order controllers, keeping only the necessary methods, and integrating the user and Kafka services by running composer update.
Set up the ambassador microservice, modify Docker and migration files, tailor the ambassador database schema, and run Docker Compose up with migrations to complete the split from the monolith.
Refactor the auth controller in the ambassador micro service to scope to ambassadors and compute revenue from orders. Remove the store method, remove the tax controller, and reconfigure kafka.
Integrate Kafka service provider, configure Kafka connections in the EMV file, and create admin and ambassador topics to publish product, link, and order events, with middleware scope adjustments.
Connect to a database, push users image to Google Cloud Registry, build with docker compose, deploy the users backend via yaml deployment and service, and prepare an ingress for testing.
Connect the database via a private IP by enabling private access and updating the YAML DB host, then compare with a proxy approach.
Replace environment variable usage with a config-driven endpoint for the user service, enable config caching, update dependencies, rebuild docker images, and verify admin and ambassador microservices.
Update ambassador kubernetes yaml files by removing annotations and adjusting resources, then create ambassador.yaml and ambassador-release.yaml for the Khubani cluster and prepare ingress deployment.
Deploy the checkout microservice by cloning the admin database, configuring docker compose with environment variables and credentials, and running migrations and seeds to complete the setup.
Deploy the checkout microservice by building and pushing images to the Google container registry, updating docker compose with the user microservice, and configuring ingress to expose the endpoint.
Change service names across configuration files to use users backend and update ambassador and admin hosts. Test endpoints to confirm the front end and ambassador routes work.
Deploy your frontend by building docker images for admin, checkout, and ambassador front ends, tagging version 0.0.1, and pushing them to the Google Cloud registry.
Deploys the frontend microservices by creating deployments and services for admin, ambassador, and checkout frontends, configuring ports and ingress for external access.
Welcome to Laravel and Kafka: Breaking a Monolith to Microservices Course - the course that will take your Laravel development skills to the next level.
Here are some interesting facts:
The average Laravel developer salary in the US is $92,285
However:
The average Kafka developer salary in the US is $97,500
The average Microservices developer salary in the US is $134,546
This means if you are a Laravel developer you have the potential to increase your salary by up to 40% 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 Laravel 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 & Laravel: A Rapid Guide
React, Next.js and Laravel: A Rapid Guide - Advanced
Vue 3, Nuxt.js and Laravel: 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 PHP
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 Laravel Queues
Create Custom Composer Packages
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.