Tôi đang cố gắng triển khai cơ sở hạ tầng CQRS của riêng mình với Sourcing Event để tìm hiểu nó tốt hơn. Là một dự án mẫu tôi đang triển khai một công cụ blog, tôi biết nó có thể không hoàn toàn phù hợp nhưng tôi chỉ muốn làm việc trên một cái gì đó thực sự.Xác nhận tính duy nhất khi sử dụng CQRS và Tìm kiếm sự kiện
Vấn đề tôi đã đến bây giờ là xác thực. Mỗi bài đăng có shortUrl
và shortUrl
phải là duy nhất, nhưng tôi nên đặt xác thực này trong miền ở đâu? Tôi biết rằng tôi sẽ có xác nhận đó trước khi tôi thậm chí gửi lệnh bằng cách đọc từ cửa hàng đọc của tôi để kiểm tra xem nó có hợp lệ không khi tạo lệnh tạo bài đăng hoặc lệnh cập nhật bài đăng.
Tôi có thể nghĩ đến hai "giải pháp".
- Có tổng
Blog
mà tiếp tục theo dõi của tất cả các thiết lập trên blog liên quan và cũng có thể tham chiếu đến tất cả các bài viết. Nhưng vấn đề với điều này trong mắt tôi là tôi phải xử lý thông tin liên lạc giữa các tập hợp trong kịch bản đó cũng như mỗi lần tôi cần xác thực tính duy nhất củashortUrl
Tôi cần đọc tất cả các sự kiện từ cửa hàng sự kiện để tạo tất cả các bài đăng và điều đó có vẻ phức tạp. Phương án thứ hai mà tôi có là khi sự kiện được kích hoạt và trình xử lý sự kiện của tôi tạo mô hình đọc kích hoạt một sự kiện url ngắn trùng lặp khi nó nhận thấy rằng nó sẽ có hai url ngắn trỏ đến các bài đăng khác nhau. Có hợp lệ để đọc mô hình để kích hoạt sự kiện khi phát hiện lỗi không?
Có còn lựa chọn thay thế nào khác không. Lưu ý rằng tôi biết rằng tên miền của tôi có thể không phù hợp nhất với cqrs và DDD, nhưng tôi đang làm điều này để tìm hiểu trong một miền nhỏ.
Xem: http://stackoverflow.com/questions/2916899/how-to-handle-set-based-consistency-validation-in-cqrs –