2010-08-01 47 views
5

Chúng tôi đang cố gắng CQRS và DDD và tìm nguồn cung ứng sự kiện. Hãy nói rằng tôi có một khách hàng cập nhật một địa chỉ email, trong đó cháy ra CustomerUpdatesEmailAddress sự kiện, điều này đi qua để hoạt động của tôi (viết DB) và cập nhật các bảng. Hệ thống của chúng tôi được thiết kế như vậy có một quy trình ETL chạy dữ liệu hoạt động và cập nhật cơ sở dữ liệu (đây là cơ sở dữ liệu đã đọc) .Given rằng ETL có thể thực hiện một số công việc nặng nề dựa trên địa chỉ email bị thay đổi (Địa chỉ email chỉ là một ví dụ)), làm cách nào để chúng tôi đồng bộ hóa cơ sở dữ liệu báo cáo (DataMart và bên hoạt động) khi người dùng muốn xem cập nhật địa chỉ email ngay trên màn hình?CQRS, DDD cơ sở dữ liệu báo cáo đồng bộ

Trả lời

13

Trong this podcast (trang 47 ví dụ) Udi Dahan tuyên bố rằng khách hàng không phải đợi trang web được đọc cập nhật. Khách hàng có thể "giả mạo" nó. Ví dụ: nếu người dùng thay đổi địa chỉ email của họ, khách hàng có thể lấy địa chỉ mới từ lệnh được gửi và hiển thị địa chỉ đó cho người dùng trước lệnh đã thực sự được xử lý.

+1

+1 cho câu trả lời này. Điều quan trọng hơn là đặt câu hỏi "Tại sao người dùng cần xem địa chỉ email được cập nhật ngay lập tức?". Nếu đó là phản hồi của người dùng, thì câu trả lời của Mikael sẽ giúp bạn đủ thời gian để chạy quy trình ETL. – stung

Các vấn đề liên quan