Event Driven Microservices with CQRS, Saga, Event Sourcing
Develop Event Driven Microservices using Spring Boot, Axon framework, CQRS, Saga, Event Sourcing patterns
Develop Event Driven Microservices using Spring Boot, Axon framework, CQRS, Saga, Event Sourcing patterns
Unlock the power of modern, event-driven microservices architecture with Spring Boot and the Axon Framework in this hands-on, project-based course. Dive deep into advanced patterns like CQRS (Command Query Responsibility Segregation), Saga, Event Sourcing, and essential microservices design principles to build robust, scalable applications.
This course is designed for developers and architects eager to gain expertise in building complex, distributed systems using event-driven patterns. From designing domain-driven services to managing data consistency across services, you’ll learn to address real-world challenges while creating resilient and high-performance microservices.
What You’ll Learn:
Event-Driven Architecture Fundamentals: Master the foundations of event-driven design and understand when to use it in microservices.
Implementing CQRS: Understand the Command Query Responsibility Segregation (CQRS) pattern, separating read and write concerns for optimized performance and scalability.
Handling Complex Business Transactions with Sagas: Learn to coordinate distributed transactions across multiple microservices using the Saga pattern, ensuring consistency without traditional locking mechanisms.
Event Sourcing: Capture every state change in an event log for an immutable record of historical data and easier debugging, replay, and auditability.
Database-per-Service Pattern: Maintain data independence for each microservice using separate databases, enabling easier scaling and independent deployment.
API Composition Pattern: Create aggregated, composite APIs at the gateway level to simplify client interactions with multiple services.
Materialized View Pattern: Use read-optimized views for efficient querying, ensuring responsive and scalable data access in CQRS-based applications.
Transactional Outbox Pattern: Ensure data consistency by safely publishing events from within your transaction boundary, eliminating potential data synchronization issues.
Key Technologies Covered:
Spring Boot: Build and deploy microservices with the popular Spring Boot framework.
Axon Framework: Leverage the Axon Framework’s powerful toolkit to implement CQRS and event-sourcing patterns.
Message Brokers: Integrate with message brokers for reliable event publishing.
Microservices Best Practices: Use design principles, patterns, and tools to enhance resilience, performance, and scalability.
Hands-On Learning:
This course is packed with real-world examples, hands-on exercises, and guided projects to solidify your skills. You’ll walk away ready to apply these advanced patterns in real projects, design robust microservices, and tackle common challenges in event-driven architectures with confidence.
Who Should Enroll:
Software developers and architects interested in advanced microservices design.
Engineers seeking hands-on experience with CQRS, Saga, Event Sourcing, and other cutting-edge patterns.
Developers looking to learn Spring Boot and the Axon Framework to build event-driven systems.
By the end of this course, you’ll be fully equipped to design and develop sophisticated, event-driven microservices that handle complex data consistency challenges with ease, providing a solid foundation for any high-scale, high-resilience distributed application.
FAQ area empty
Course Introduction
Xem trướcDetails of Source Code, PDF Content & other instructions for the course
Xem trướcIntroduction to Database-per-service pattern
Xem trướcCross Service queries challenge in microservices
Xem trướcIntroduction to API composition pattern
IntelliJ IDEA Ultimate
Xem trướcUnderstanding microservices code and setup - Part 1
Understanding microservices code and setup - Part 2
Understanding microservices code and setup - Part 3
Implementing API composition pattern using Spring Cloud Gateway - Part 1
Xem trướcImplementing API composition pattern using Spring Cloud Gateway - Part 2
Implementing API composition pattern using Spring Cloud Gateway - Part 3
Xem trướcData Consistency and Complex Transactions challenge in microservices
Data duplication challenge in microservices
Introduction to AxonIQ
Axon Server Setup Locally Using Docker
Adding Axon framework dependencies inside microservices
Creating command classes in customer microservice
Creating query and event classes in customer microservice
Building command APIs in customer microservice
Technical flow of CQRS & ES
Creating aggregate class in customer microservice
Creating EventSourcingHandler method in customer aggregate class
Building update and delete customer logic in customer aggregate class
Building projection class in customer microservice
Building query API in customer microservice
Demo of CQRS and Event Sourcing in customer microservice
Axon Framework IntelliJ plugin
Performing validations using MessageDispatchInterceptor implementation - Part 1
Performing validations using MessageDispatchInterceptor implementation - Part 2
Reading data from EventStore
Event Processors in Axon framework - Part 1
Event Processors in Axon framework - Part 2
Event Processors in Axon framework - Part 3
Implementing CQRS and ES in accounts microservice - Part 1
Implementing CQRS and ES in accounts microservice - Part 2
Implementing CQRS and ES in cards, loans microservice
Different approaches to implement CQRS
Why we need to consider Materialized View Pattern
Introduction to Materialized View Pattern
What we are going to build with Materialized View Pattern
Implementing Materialized View Pattern - Part 1
Implementing Materialized View Pattern - Part 2
Implementing Materialized View Pattern - Part 3
Implementing Materialized View Pattern - Part 4
Implementing Materialized View Pattern - Part 5
Transactional Outbox Pattern
Problem that Saga pattern solves
Introduction to Saga pattern
Benefits and drawbacks of Saga Pattern
What we are going to build using Choreography Saga Pattern
Implementing choreography saga pattern - Part 1
Implementing choreography saga pattern - Part 2
Implementing choreography saga pattern - Part 3
Implementing choreography saga pattern - Part 4
Demo of Saga pattern happy flow
Implementing compensation transactions - Part 1
Implementing compensation transactions - Part 2
Demo of complete choreography saga pattern
Introduction to Orchestration Saga Pattern
Implementing Orchestration saga pattern - Part 1
Implementing Orchestration saga pattern - Part 2
Implementing Orchestration saga pattern - Part 3
Implementing Orchestration saga pattern - Part 4
Implementing compensation transactions
Demo of Orchestration Saga Pattern
Demo of Subscription queries - Part 1
Demo of Subscription queries - Part 2
Java
Good knowledge on Spring Boot, Microservices
Command Query Responsibility Segregation (CQRS)
Event sourcing pattern
Saga pattern
Transactional Outbox Pattern
Materialized View Pattern
API composition pattern
Database-per-service pattern
Event Driven microservices
1.2
1 Student
325 Courses
1253 Reviews
Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!
View Details