Updated in May 2025.
This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. This course dives into the implementation of event-driven architectures in microservices and focuses on secure communication between services. You'll gain practical skills in utilizing RabbitMQ and MassTransit for asynchronous communication, which is essential for developing scalable and reliable systems. Learn how to implement modular monolithic designs and explore the complexities of integrating microservices using event-driven principles. The course begins by introducing asynchronous messaging with RabbitMQ and MassTransit. You will explore modular monolithic architectures and how they handle asynchronous communication between modules for better scalability. You will also examine key messaging patterns like publish/subscribe, ensuring you understand the full process of event-driven systems. Moving forward, you will work on developing integration events, including setting up shared messaging libraries and using MassTransit to handle integration events. The course also includes in-depth testing of integration events and the handling of message flows, ensuring your systems are robust and functional. Targeted at software developers and engineers with a basic understanding of .NET and microservices, this course covers everything from implementing security with Keycloak to containerizing your applications using Docker-Compose. The course provides hands-on experience in building secure, scalable systems in real-world scenarios. Basic knowledge of .NET, microservices, and event-driven architecture concepts.