
Hướng Dẫn Dapr Workflow Go: Orchestrated Saga Pattern
Answer-first: Dapr Workflow cung cấp mô hình Orchestrated Saga bền vững (Durable Execution) cho các microservices Golang. Bằng cách tập trung hóa máy trạng thái, tự động bù trừ khi xảy ra sự cố và loại bỏ phụ thuộc vào Two-Phase Commit (2PC), giải pháp duy trì tính nhất quán cuối cùng cho giao dịch tài chính đa bước. 🇬🇧 Read the English version of this article on tanhdev.com Hầu hết các lập trình viên Go xây dựng microservices đều biết đến mẫu Choreography Saga: service A phát ra (emit) một sự kiện, service B phản ứng, service C phản ứng với B, và cứ tiếp tục như vậy. Nếu bước C thất bại, các services sẽ phát ra các sự kiện “bù trừ” (compensation) theo thứ tự ngược lại. Mẫu này hoạt động một cách mượt mà đối với các luồng đơn giản, nhưng lại phá vỡ tính hiệu quả khi số lượng bước tăng lên: việc debug một saga thất bại đòi hỏi phải lần theo dấu vết (tracing) các sự kiện qua năm topic của message broker, và việc triển khai logic bù trừ đòi hỏi mỗi service phải hiểu toàn bộ trạng thái của saga. ...