Replace Akka Persistence with custom persistent entity implementation #8
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/support#8
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Replace Akka Persistence with a custom implementation for persistent entities. This is a research-first task to evaluate alternatives and implement a chosen solution.
Motivation
Akka Persistence adds significant complexity and dependency weight for what we actually use. We want a simpler, more focused solution that we control.
Current State
The Akka Persistence usage is contained in
akka-persistence/module:Persistent Entities:
DocumentCounterBehavior- Event-sourced counter for sequence ID generationProjections:
AkkaProjectionSupport- Processes events from journal to update read modelsViewProcessor[E]interfaceAbstractions (to preserve):
SequenceIdGeneratorFactory/IdGenerator[T]- Interface for ID generationViewProcessor[Event]- Interface for event projection handlersKey characteristics:
Research Questions
What do we actually need?
Alternatives to evaluate:
Distribution concerns:
Scope
Replace:
DocumentCounterBehaviorand related codeAkkaProjectionSupport(if projections are still needed)AkkaZioJsonSerializer)Preserve interfaces:
SequenceIdGeneratorFactoryIdGenerator[T]ViewProcessor[Event](if projections remain)Remove:
Deliverables
DocumentCounterBehaviorChecklist