software_architecture:distributed_systems
Table of Contents
distributed_systems
Event driven architecture
Event-store
Data
Non functional requirements NFRs:
- Consistency (across distributed landscape) (Eventual consistency OK?)
- Ownership by single-services (for independent deployment)
- Low latency read (responsiveness)
- Availability of customer-exposed components
Capabilities of Architecture:
- have a single source of true for each type of data, to guarantee Consistency
- e.g. by Entity type?
- Components can serve READ independently of each other, to ensure availibility
- when one service goes down - the others can use the read-copy of events
- use “Aggregates” to define read-copies schemas with multiple entiteis, grouped by use-case
- WRITE is served from single sources of true
- use SAGA pattern on “Aggregates” and synchronous dependency on “single source of true APIs” to ensure consistency
Capabilities of Event-store:
- when service is down, then replay missed events from event store
- replay missed events from the beginning of time
- create snapshots, to avoid replaying the complete history replay
- convert event schemas, to convert old history into new format, when schemas change
Links
software_architecture/distributed_systems.txt · Last modified: 2024/02/04 15:50 by skipidar