Tôi đang làm việc trên hệ thống cửa hàng sự kiện CQRS/sự kiện. Hiện tại, mẫu mà tôi sử dụng là cho các lệnh để đồng bộ. Đó là, giao diện người dùng không hiển thị một hoạt động như đã hoàn thành cho đến khi lệnh hoàn tất và thành công/thất bại được hiển thị cho người dùng. Trong quá trình thực hiện các lệnh, tất cả các sự kiện được tạo (ví dụ: hành động X xảy ra trên tổng hợp Y gốc) được lưu trữ trong bộ nhớ bền.Ưu điểm của việc lưu trữ lệnh trong hệ thống CQRS/ES là gì?
Tất cả các mô tả về CQRS mà tôi đã đọc triển khai lệnh lưu trữ. Tôi tự hỏi nếu điều này là cần thiết trong tình hình của tôi.
Một lưu ý khác - có rất nhiều hành động loại lệnh chạy dài, vì vậy tôi đã chia nhỏ hoạt động thành lệnh tạo sự kiện và các sự kiện lần lượt đưa ra nhiều lệnh hơn. Các lệnh là idempotent, dựa trên trạng thái gốc tổng hợp. Tôi không biết làm thế nào điều này sẽ ảnh hưởng đến câu trả lời, nhưng nó là giá trị chỉ ra.
Cảm ơn, Erick
Có thể cung cấp một số ví dụ về triển khai lưu trữ lệnh? Hầu hết các ví dụ tôi đã thấy chỉ lưu trữ các sự kiện được tạo ra như là kết quả của các lệnh. –
Tôi không có bất kỳ khung công tác nào, nhưng CQRS không có sự kiện tìm kiếm các lệnh bản ghi để phát lại, ít nhất là từ sự hiểu biết của tôi. –
Tôi hơi lo lắng về vấn đề bảo mật. Bạn định làm gì với các lệnh như ChangeUserPassword có chứa mật khẩu văn bản rõ ràng? – Kimble