현재 Go Actor 액티비티 용 EventSourcing을 구현 중입니다. 지금 당장 가지고있는 문제는 액터가 다시 시작되어 이벤트 저널에서 모든 상태를 재생해야 할 때 쿼리가 일관성없는 데이터를 반환 할 수 있다는 것입니다. 이 문제를 해결할 수 있다는 것을 알고 있습니다. MutationToken
Consisntent N1QL Query Couchbase GOCB sdk
하지만 그렇게하면 모든 이벤트를 순차적으로 작성해야합니다. 즉, 마지막 이벤트를 마지막으로 작성해야합니다.
그런 식으로 마지막 이벤트에 대한 변이 토큰은 특정 액터에 대한 모든 데이터를 일관성있게 얻을 수 있습니다.
그러나 이것은 매우 느리며 약 10 000 개의 이벤트를 순서대로 기록합니다. 설정에 약 5 초가 걸립니다.
go 루틴을 사용하여 10 000 개의 비동기를 쓰면 모든 데이터를 1 초 이내에 쓸 수 있습니다. 하지만 쓰기는 비 결정적 순서로 이루어 지므로 신뢰할 수있는 변형 토큰을 알 수 있습니다. 예 : 일상적인 스케줄링 AFAIK로 인해 이벤트 999가 이벤트 843 전에 기록 될 수 있습니다.
내 옵션에는 어떤 것들이 있습니까?