6

Phần CRUD dựa trên nhu cầu ứng dụng của chúng tôi:tuyến đồng bộ và sự kiện nguồn

  1. tuyến hai chiều "hai chiều" đồng bộ hóa
  2. Có khả năng sửa đổi dữ liệu cho đến khi sẵn sàng và sau đó "xuất bản".
  3. Nhật ký kiểm tra

Event Sourcing (hay "mẫu lệnh") là những gì tôi đang nhìn vào để hoàn thành các mặt hàng này. Tôi cảm thấy thoải mái khi giải quyết 2 & 3 với điều này, nhưng không rõ ràng đối với mục một, đồng bộ hóa.

Nếu dấu thời gian được sử dụng cho mỗi lệnh (nếu cần), các lệnh ngoại tuyến cần được áp dụng cho hệ thống chính như chúng có trong thời gian thực (kết hợp) hoặc tôi có thể xem xét chúng được áp dụng như đang diễn ra tại kết thúc của bất kỳ lệnh nào (với dấu thời gian gần đây hơn)?

Bất kỳ mô tả thuật toán cơ bản nào cho đồng bộ hóa dựa trên lệnh đều hữu ích.

+0

Bài viết hữu ích cho tôi là http://touchlabblog.tumblr.com/post/33710233787/offline-sync-queue-aka-superbus và https://docs.google.com/file/d/0B_BG7hBPKUxaeVFTSUI4Ylp3VjQ/edit – Joel

Trả lời

9

Bạn sẽ muốn xem lại những gì Greg Young đã nói về CQRS and Occasionally Connected Systems

lệnh cần phải chạy trên hệ thống của kỷ lục tại thời điểm họ nhận được. Vì vậy, ứng dụng khách ngoại tuyến của bạn có thể làm việc với địa chỉ được lưu trữ cục bộ, , bản sao hồ sơ và xếp hàng các lệnh. Khi được kết nối lại, máy khách sẽ cập nhật bản sao của hệ thống bản ghi, hòa hợp các lệnh xếp hàng của nó với trạng thái mới của thế giới, và sau đó gửi các lệnh mới đến hệ thống bản ghi.

Bài nói chuyện của Greg phác họa cách điều chỉnh lệnh hoạt động (về cơ bản, bằng cách xem các sự kiện mà lệnh tạm thời tạo ra và tìm xung đột với các sự kiện được ghi lại bởi hệ thống bản ghi). Bài nói chuyện mạnh mẽ ngụ ý rằng các chuyên gia miền sẽ muốn xung đột sự kiện được giải quyết theo những cách cụ thể.

+0

Đó là những gì tôi đang tìm kiếm nhờ bạn @VoiceOfUnreason –

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