架構轉移到 Event Driven 遇到的各種挫折 https://medium.com/@shiiyan/how-i-failed-in… — 矽谷牛的耕田筆記 — TG.ME

架構轉移到 Event Driven 遇到的各種挫折
https://medium.com/@shiiyan/how-i-failed-in-event-driven-architecture-86eb493082fa


本篇文章分享的是作者嘗試導入 event driven 架構來改善目前環境的心路歷程。

以目前的環境下架構來說,作者觀察到有很多物件彼此之間都有關聯性,常常 A 更新後也要去更新B, 最後還會呼叫到物件 C 的更新。

於是作者就希望可以透過 event driven 的架構來簡化這些流程,讓彼此之間的關係不要強烈綁定,透過 events 去定義每個物件的概念,有事情就呼叫相關的event 來處理。

然而真的實作後,作者發現事情沒有這麼簡單,實務上的轉移遇到一堆問題,並沒有辦法直接轉換過去,更是有很多實作上的問題,包含
1. 單向溝通的限制,不同於過往緊密的實作限制,A 呼叫B, 但是 B 不方便把自己的結果退回去給A.
2. Event Chain 可能會很複雜,複雜的情況下若要保持先後順序又是一大挑戰
2. 因為都是event 非同步處理,所以偏向 eventually consistency 的架構

文章內有更多關於實作上的辛酸血淚
Medium
How I Failed in Event-Driven Architecture
In my recent project, I aimed to rewrite a messy codebase using event-driven architecture. However, I discovered that achieving true…
August 15, 2024 854 5