Quay lại thư viện câu hỏi
system design Junior

Trong kiến trúc Microservices, làm thế nào để đảm bảo tính nhất quán của dữ liệu giữa các dịch vụ khác nhau khi không thể sử dụng giao dịch ACID truyền thống?

Khi không thể sử dụng giao dịch ACID trên nhiều cơ sở dữ liệu, chúng ta áp dụng mô hình Saga Pattern để quản lý tính nhất quán. Saga là một chuỗi các giao dịch cục bộ (local transactions) được thực hiện tuần tự. Mỗi bước thực hiện thành công sẽ kích hoạt bước tiếp theo thông qua Event-driven architecture. Nếu một bước thất bại, hệ thống sẽ thực hiện các giao dịch bù (compensating transactions) để hoàn tác các thay đổi đã thực hiện trước đó nhằm đưa hệ thống về trạng thái nhất quán. Có hai cách tiếp cận chính: 1. Choreography: Các dịch vụ tự trao đổi sự kiện với nhau thông qua Message Broker. 2. Orchestration: Một dịch vụ trung tâm (Orchestrator) điều phối toàn bộ luồng giao dịch. Đối với Junior, cần hiểu rõ rằng tính nhất quán ở đây là Eventual Consistency (nhất quán cuối cùng) thay vì Strong Consistency.

Luyện tập câu hỏi này trong chế độ đếm ngược mô phỏng phỏng vấn thật:
Phòng Luyện Tập
Khóa học Chuyên sâu Chủ đề system design

Khóa học System Design & High Scalability

Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.

Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)

Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.

High-Ticket Mentoring
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?

Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.

AI Resume Scanner
Kiểm Tra CV Chuẩn ATS Miễn Phí

Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học