Skip to content
This repository has been archived by the owner on Jun 1, 2021. It is now read-only.

Scale write to a single replicated aggregate #44

Closed
krasserm opened this issue Feb 28, 2015 · 2 comments
Closed

Scale write to a single replicated aggregate #44

krasserm opened this issue Feb 28, 2015 · 2 comments

Comments

@krasserm
Copy link
Contributor

This can be achieved by allowing an EventsourceActor (= aggregate) to consume from multiple logs and only write to one of these logs. Aggregate replicas with the same aggregate id write to different logs but consume from all of them, so that distributed writes to the same aggregate id don't need to be merged into a single log. For example, with three (optionally replicated) logs, A, B and C and three aggregate replicas r1, r2 and r3:

  • r1 writes to A and reads from A, B and C
  • r2 writes to B and reads from A, B and C
  • r3 writes to C and reads from A, B and C

This means that replicas ri need to be recovered from three logs (instead of one) and deterministic (= totally ordered) replay is not possible any more. However, by re-ordering concurrently replayed events based on their vector timestamps, causal ordering can be achieved.

@krasserm
Copy link
Contributor Author

This is a scalability extension to #26 and #36 that preserves causal ordering as #13 alone does not.

@krasserm krasserm changed the title Scale write to a single replicated aggregate Scale write to a single aggregate Mar 13, 2015
@krasserm krasserm changed the title Scale write to a single aggregate Scale write to a single replicated aggregate Mar 13, 2015
@krasserm
Copy link
Contributor Author

Obsolete with #66 therefore closing this issue.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant