Quay lại thư viện câu hỏi
node.js Middle

Trong kiến trúc Microservices sử dụng Node.js, làm thế nào để quản lý các giao dịch phân tán (Distributed Transactions) và đảm bảo tính nhất quán dữ liệu khi không thể sử dụng ACID truyền thống?

Trong môi trường Microservices, việc duy trì tính nhất quán dữ liệu thường được giải quyết thông qua mô hình Saga Pattern. Thay vì sử dụng giao dịch ACID tập trung, chúng ta chia nhỏ giao dịch thành chuỗi các bước cục bộ. Mỗi bước sẽ cập nhật dữ liệu của một service và phát ra một sự kiện (Event) để kích hoạt bước tiếp theo. Nếu một bước thất bại, hệ thống sẽ thực hiện các giao dịch bù trừ (Compensating Transactions) để hoàn tác các thay đổi trước đó. Có hai cách tiếp cận chính: Choreography (các dịch vụ tự giao tiếp qua Message Broker như RabbitMQ hoặc Kafka) và Orchestration (một service điều phối trung tâm quản lý luồng xử lý). Việc sử dụng Saga giúp hệ thống đạt được tính nhất quán cuối cùng (Eventual Consistency) mà không làm giảm hiệu năng hệ thống.

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ủ đề node.js

Khóa học Node.js & NestJS Microservices

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