Event-Driven Microservices, CQRS, SAGA, Axon, Spring Boot

8h 55m 3s
English
Paid
April 22, 2024

In this video course, you will learn how to build business logic that spans several distributed Spring Boot Microservices.  This course is designed for beginners and we will start from the basics of Microservices, Spring Boot, and Spring Cloud. You will learn how to create your very first Spring Boot Microservice and how to handle HTTP requests. You will then learn how to run multiple instances of your Microservice behind an API Gateway and how to make them discoverable.

More

This will help you scale up your microservice up and down as needed.

This video course will also cover transactions across multiple distributed Microservices and how to roll back changes if an error took place. Transactions is an advanced topic and to be able to build transactional microservices this video course will teach you a few more design patterns. Starting from the very beginning, you will learn how to develop event-based Microservices that are absolutely location transparent.

You will learn how to use a modern and very popular framework for building event-based Microservices called Axon. Axon Framework is based on design principles such as CQRS(Command Query Responsibility Segregation) and DDD(Domain Driven Design). You will learn how to build event-based Microservices using Axon Framework and how to use CQRS and Event Sourcing in your Microservices.

Finally, you will learn about the Saga design pattern and how to group multiple operations into a single transaction. This will help you build business logic that spans multiple distributed Microservices and roll back changes if one operation fails.

All from the very beginning, to make these advanced topics easier.



Watch Online Event-Driven Microservices, CQRS, SAGA, Axon, Spring Boot

Join premium to watch
Go to premium
# Title Duration
1 Introduction 03:52
2 Microservice vs Monolithic application 07:12
3 Microservices Architecture Overview 07:40
4 Event-Driven Microservices 05:17
5 Transactions in Microservices 04:32
6 Choreography-Based Saga 05:52
7 Orchestration-Based Saga 04:29
8 Frameworks that we can use 02:54
9 (CQRS)Command Query Responsibility Segregation 07:09
10 Event Sourcing 07:12
11 Axon Framework and Axon Server 03:01
12 Download and run Docker Desktop 04:16
13 Spring Tool Suite 02:42
14 Download and Install Postman HTTP client 02:20
15 Creating a new project. Products Microservice. 05:32
16 Creating a Rest Controller class 04:41
17 Handle HTTP POST, GET, PUT and DELETE Requests 04:44
18 Trying how it works 01:48
19 Introduction 04:30
20 Creating new project 03:33
21 Configure project as Eureka Server 05:57
22 Registering Microservices with Eureka 06:03
23 Trying how it works 02:26
24 Introduction 03:45
25 Creating Spring Cloud API Gateway project 05:25
26 Automatic Routing with Resource Locator 05:42
27 Random Port Number 05:24
28 Starting Multiple instances of Products Microservice 06:13
29 Trying how load balancing work 05:36
30 Download and run Axon Server as JAR application 04:08
31 Axon Server configuration properties 07:06
32 Run Axon Server in a Docker container 08:25
33 Start, Stop, Delete Axon Server Docker Container By ID 04:22
34 Configure Axon Server running in Docker Container 02:50
35 Accept HTTP Request Body 04:35
36 Trying how it works 00:53
37 Adding Axon Framework Spring Boot Starter 00:57
38 Creating a new Command class 04:27
39 Creating a new CreateProductCommand object 01:52
40 Send Command to a Command Gateway 04:13
41 Product Aggregate - Introduction 02:11
42 Creating ProductAggregate class 02:12
43 Validate the CreateProductCommand 01:16
44 Creating ProductCreatedEvent 02:54
45 Apply and Publish the Product Created Event 03:04
46 @EventSourcingHandler 03:08
47 Adding Additional Dependency 01:43
48 Trying how it works 03:35
49 Previewing Event in the EventStore 02:38
50 Introduction 00:41
51 Adding Spring Data JPA & H2 dependencies 03:03
52 Configure database access in the application.properties file 04:30
53 Creating an ProductEntity 05:11
54 Creating ProductRepository 03:53
55 Creating Products Events Handler/Projection 02:16
56 Implementing @EventHandler method 01:42
57 Trying how it works 02:29
58 Preview Product record in a database 03:27
59 Introduction 00:51
60 Creating Rest Controller 02:22
61 Refactor Command API Rest Controller 01:56
62 Get Products web service endpoint 02:48
63 Querying the QueryGateway 05:04
64 Creating ProductsQueryHandler 01:28
65 Implementing the findProducts() method 03:31
66 Trying how it works 01:29
67 Introduction to Bean Validation 03:48
68 Bean validation. Enable Bean Validation. 02:52
69 Bean validation. Validating Request Body. 05:42
70 Trying how the Request Body Validation works. 02:57
71 Introduction 00:40
72 Command validation in the Aggregate 01:27
73 Introduction to Message Dispatch Interceptor 01:21
74 Creating a new Command Interceptor class 05:15
75 Register Message Dispatch Interceptor 02:04
76 Trying how the Command Interceptor works. 05:53
77 Set Based Consistency - Introduction 05:17
78 Creating Product Lookup Entity 03:30
79 Creating Product Lookup Repository 02:25
80 Creating a ProductLookupEventsHandler 05:45
81 Persisting information into a ProductLookup table 02:09
82 Updating MessageDispatchInterceptor 03:28
83 Trying how the Set base validation works 04:05
84 Introduction 06:08
85 Creating a centralized Error Handler class 05:03
86 Trying how the centralized error handler class works 02:27
87 Return custom error object 03:25
88 Handle the @CommandExecutionException 03:26
89 Trying to handle the @CommandExecutionException 03:31
90 @ExceptionHandler 03:15
91 Creating the ListenerInvocationErrorHandler 03:49
92 Register the ListenerInvocationErrorHandler 03:28
93 Trying how transaction rollback works 07:43
94 Introduction 02:18
95 Saga class structure overview 03:42
96 Creating OrderSaga class 01:57
97 @SagaEventHandler method for the OrderCreatedEvent 02:44
98 Creating a new Core API module 03:38
99 Adding Core project as a dependency to OrdersService 01:24
100 Creating the ReserveProductCommand 01:42
101 Publish the ReserveProductCommand 02:18
102 Handle the ProductServeCommand in the ProductsService 03:32
103 Publish the ProductReservedEvent 02:42
104 Updating Products projection 01:55
105 Handle the ProductReservedEvent in Saga 01:16
106 Trying how it works 05:39
107 Introduction 02:24
108 Fetching User Payment Details 03:25
109 Trying how it works 02:12
110 Creating the ProcessPaymentCommand 01:51
111 Publish the ProcessPaymentCommand 03:08
112 Handle the PaymentProcessedEvent 01:24
113 Create and publish the ApproveOrderCommand 02:32
114 Handle the ApproveOrderCommand 01:24
115 Create and publish the OrderApprovedEvent 03:19
116 Handle the OrderApprovedEvent and update Orders database 02:24
117 Handle the OrderApprovedEvent in OrderSaga class 02:22
118 Trying how it works 02:58
119 Introduction 03:17
120 Creating the CancelProductReservation command 02:03
121 Publish the CancelProductReservationCommand 04:11
122 Handle the CancelProductReservation command in ProductsService 01:07
123 Create and publish the ProductReservationCancelledEvent 01:29
124 Handle the ProductReservationCancelledEvent 04:56
125 Create and publish the RejectOrderCommand 02:13
126 Handle the RejectOrderCommand on the query side 00:44
127 Create, publish and handle the OrderRejectedEvent 04:23
128 Trying how it works 10:00
129 Introduction 04:37
130 Creating a DeadlineManager object 02:50
131 Schedule a deadline 05:31
132 Handle deadline 03:32
133 Cancel deadline 04:03
134 Trying how it works 03:33
135 Introduction 03:07
136 Creating the FindOrderQuery 01:13
137 Creating the QueryHandler method 03:48
138 Sending a Subscription Query 04:00
139 Emit an Update to the subscription query 04:33
140 Trying how it works 04:36
141 Introduction 06:12
142 Configure Snapshotting 03:40
143 Trying how it works 07:40
144 Introduction 05:34
145 @ResetHandler 02:21
146 Replay Events Endpoint 02:53
147 Starting the Replay of Events 02:59
148 Trying how it works 05:58

Similar courses to Event-Driven Microservices, CQRS, SAGA, Axon, Spring Boot

OAuth 2.0 in Spring Boot Applications

OAuth 2.0 in Spring Boot Applicationsudemy

Duration 10 hours 54 minutes 34 seconds
Build RESTFUL APIs using Kotlin and Spring Boot

Build RESTFUL APIs using Kotlin and Spring Bootudemy

Duration 8 hours 23 minutes 18 seconds