Tôi có một mô hình miền khá đơn giản liên quan đến danh sách các gốc tổng hợp Facility
. Cho rằng tôi đang sử dụng CQRS và một event-bus để xử lý các sự kiện được nâng lên từ miền, làm cách nào bạn có thể xử lý xác nhận trên các bộ? Ví dụ: giả sử tôi có yêu cầu sau:Làm cách nào để xử lý xác thực tính nhất quán dựa trên thiết lập trong CQRS?
Facility
phải có tên duy nhất.
Vì tôi đang sử dụng cơ sở dữ liệu cuối cùng nhất quán ở phía truy vấn, dữ liệu trong đó không được đảm bảo chính xác tại thời điểm trình xử lý sự kiện xử lý sự kiện.
Ví dụ: FacilityCreatedEvent
nằm trong hàng đợi xử lý sự kiện cơ sở dữ liệu truy vấn đang chờ xử lý và được ghi vào cơ sở dữ liệu. Một CreateFacilityCommand
mới được gửi đến miền để được xử lý. Các dịch vụ miền truy vấn cơ sở dữ liệu đã đọc để xem có bất kỳ đăng ký nào khác có tên là Facility
, nhưng trả về false vì CreateNewFacilityEvent
chưa được xử lý và ghi vào cửa hàng. CreateFacilityCommand
mới bây giờ sẽ thành công và ném lên một FacilityCreatedEvent
mà sẽ nổ tung khi bộ xử lý sự kiện cố gắng ghi nó vào cơ sở dữ liệu và thấy rằng Facility
khác đã tồn tại với tên đó.
Bạn đang sử dụng loại cửa hàng nào ở phía bên của giải pháp? ORM cổ điển hoặc Sourcing sự kiện? –
Tôi đang sử dụng Sourcing Event. –