Lesson 109 - BASE Transactions and Eventual Consistency

  Рет қаралды 5,174

Software Architecture Monday

Software Architecture Monday

Күн бұрын

Пікірлер: 5
@oleksiim1283
@oleksiim1283 3 жыл бұрын
Awesome, it could not be an even more clear explanation. Well done Mark. Thank You!
@gerarldlee
@gerarldlee 2 жыл бұрын
Thanks Mark! I purchased both of your & Neal Ford's book. Also the explanations in this video is very clear.
@mgiriprasad123
@mgiriprasad123 3 жыл бұрын
As usual a great video. Very informative. In event synchronisation pattern - The customer information service is deleting the record in the database and publishing the message to the queue/topic, what happens if either the database or the publish fail?
@markrichards5014
@markrichards5014 3 жыл бұрын
In the event-based scenario, I would always do the database action first. That way, if the database action fails, I haven't published the message yet. In the event I cannot publish the message, I would either reverse the database action or store off the event message for publishing at a later time.
@dimitrikalinin3301
@dimitrikalinin3301 7 ай бұрын
You still have guarantees with the technologies used. Firstly, there are ACID database transactions. You store your payload and the instruction to place a message into the queue within a single atomic transaction (transactional outbox table). Secondly, the queue uses a publisher confirms mechanism. You do not mark your instruction as executed until you receive confirmation from the message broker (using message relay). Thirdly, the consumer acknowledgment mechanism ensures that the message remains in the queue until it is successfully consumed. Of course, implementing retry mechanisms and ensuring idempotent communication throughout the entire processing chain is essential, but this approach is reliable.
Lesson 108 - The Role of a Software Architect
9:12
Software Architecture Monday
Рет қаралды 4,8 М.
Lesson 110 - The Pros and Cons of Event Driven Architecture
11:09
Software Architecture Monday
Рет қаралды 10 М.
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН
Circle Illusion using JavaScript
18:55
Radu Mariescu-Istodor
Рет қаралды 1,2 М.
Distributed Transactions are Hard (How Two-Phase Commit works)
16:24
Hussein Nasser
Рет қаралды 35 М.
Database Sharding in 200 Seconds
4:43
PlanetScale
Рет қаралды 26 М.
Dealing with eventual consistency - Dennis van der Stelt - NDC Oslo 2022
51:00
Lesson 85 - Defining Scalability and Elasticity
15:15
Software Architecture Monday
Рет қаралды 4,5 М.
Lesson 53 - Distributed Transactions Using Sagas
8:02
Software Architecture Monday
Рет қаралды 9 М.
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 919 М.
Data Consistency Between Microservices
8:52
CodeOpinion
Рет қаралды 25 М.
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН