2013-01-31 25 views
7

Tôi đang cố gắng bọc đầu xung quanh toàn bộ ý tưởng CQRS/ES, và dự tính viết bằng chứng khái niệm và đặc tả kỹ thuật về cách triển khai trong ứng dụng hiện tại của chúng tôi.CQRS/ES: Hàng loạt hoạt động/nhập khẩu

Các hoạt động có vấn đề (về cách ánh xạ chúng tới CQRS/ES) là cập nhật hàng loạt dữ liệu bài viết phức tạp thông qua nhập tệp - các hàng đơn lẻ trong các tệp dữ liệu mở rộng đến nhóm bài viết, bài viết, tiêu đề, đơn vị và các thuộc tính, tải hàng loạt các tệp liên kết các loại người mua với các loại nhà cung cấp và xuất khẩu các bộ phận của hoặc toàn bộ các loại.

Tôi đã đọc một nơi nào đó (có thể là Nhóm Google DDDCQRS), cách tốt nhất để mô hình nhập bài viết BC (đọc tệp Excel hoặc tệp lưới khác) sẽ có một dòng dữ liệu được nhập tổng hợp và toàn bộ nhập là gốc tổng hợp. Bằng cách đó, sau khi phân tích cú pháp tệp, tất cả những gì tôi phải làm là tạo tổng hợp nhập và mỗi dòng, thêm dòng đó vào quá trình nhập. Điều đó sẽ lưu trữ các sự kiện trong cửa hàng sự kiện của BC và xuất bản các sự kiện mà quản lý bài viết BC sẽ đăng ký. Điều này có nghĩa không?

Trong hệ thống hiện tại, quá trình nhập được chạy trong một giao dịch dài, duy nhất. Thời gian chạy dài nên được đọc từ 5 đến 40 phút, tùy thuộc vào lượng dữ liệu đã nhập và số lượng dữ liệu đã có cho một người dùng cụ thể (vì dữ liệu được so sánh với các tệp đã nhập trước đó và dữ liệu hiện tại). Khi nửa chừng hoạt động không thành công, hiện tại toàn bộ hoạt động được khôi phục. Làm thế nào mà làm việc trong CQRS/ES?

Trả lời

2

Ít việc phải làm với CQRS/ES. Một cách tiếp cận rất ngây thơ sau:

  • Tìm đơn vị làm việc của bạn,
  • Vạch một chương trình xác định tăng dần cho các đơn vị,
  • Biến đổi đầu vào ban đầu vào các đơn vị của công việc (ít khả năng thất bại & nhanh) và chỉ định danh tính trên đường đi,
  • Bây giờ xử lý từng đơn vị công việc dưới dạng giao dịch, cập nhật đơn vị nhận dạng công việc được xử lý cuối cùng như một phần của mỗi giao dịch (hoặc nhiều nếu bạn định xử lý song song),
  • tiếp tục từ chuyên gia cuối cùng cessed đơn vị công việc trở đi, hoặc là tự động hoặc sau khi ops đã cho ánh sáng màu xanh lá cây.

Cho dù có mô hình tổ chức sự kiện hoặc được nhà nước theo sau tất cả đều là IMO kém hơn.

+1

Tôi đồng ý với câu trả lời này. Không có vấn đề làm thế nào bạn thiết kế mô hình của bạn, cách để làm việc nhập khẩu là để tìm ra những gì các lệnh của bạn, tạo chúng cho các dữ liệu trong tập tin nhập khẩu của bạn và sau đó chạy chúng thông qua xử lý của họ. Cho dù đó là một lệnh trên mỗi hàng, hay nhiều, phụ thuộc vào mô hình của bạn và các lệnh giao dịch, không phải theo cách khác. Đừng viết mô hình của bạn cho việc nhập khẩu, ghi nhập của bạn xung quanh mô hình. – Dan