Giả sử tôi muốn có một câu chuyện được tạo bởi một số sự kiện, sau đó ngồi và đợi vài giờ, và nếu không có gì xảy ra, hãy gửi một số lệnh.Sagas dựa trên thời gian với Event Sourcing
Bây giờ, nếu Saga này là tất cả trong bộ nhớ và tôi đã phải khởi động lại ứng dụng/máy chủ, saga sẽ được dỡ xuống và không bao giờ nhìn thấy một lần nữa, phải không?
Tôi có sử dụng Sourcing Event để đưa Saga này lên tốc độ khi hệ thống trực tuyến trở lại không?
Nếu vậy, tôi sẽ cần khá nhiều Cửa hàng sự kiện riêng biệt với "sagas hoạt động" có thể được phát lại khi khởi động hệ thống, để Sagas của tôi tăng tốc. Cho đến nay nó có vẻ tốt với tôi, nhưng làm thế nào tôi sẽ thực hiện thời gian chờ?
Tôi cần một số cách "giả mạo" hết thời gian chờ phát lại, xem xét có thể có một số, thời gian chờ tiếp theo tùy thuộc vào các sự kiện đi vào saga.
Làm cách nào để tạo một Saga sống trong 7 ngày? Tôi chắc chắn nó phải được duy trì trong trường hợp khởi động lại dịch vụ, phải không? –
@MauroDestro Bạn không thực sự phải giữ cho sagas của bạn trong bộ nhớ khi sử dụng Sourcing Event. Hãy nghĩ về một saga như một thực thể mà bạn có thể phát lại trước khi nó xử lý một sự kiện. So sánh với cách bạn sẽ phát lại tổng hợp trước khi nó xử lý một lệnh. Sử dụng cách tiếp cận của Jonathan để xử lý thời gian chờ (làm cho chúng trở thành sự kiện trong và của chính bản thân họ) làm cho nó có thể phát lại "thời gian". –