Sanntidsdeling av data i en API- lst verden What is event driven? - - PowerPoint PPT Presentation
Sanntidsdeling av data i en API- lst verden What is event driven? - - PowerPoint PPT Presentation
Sanntidsdeling av data i en API- lst verden What is event driven? Wait Signal += (event) => you say; Business TimeSeries / Discreet Truth of the system DataPoints Named intentionally Measurements Represents the domain
What is event driven?
Wait Signal
+= (event) => you say;
Business
- Truth of the system
- Named intentionally
- Represents the domain
language
- Historical facts
TimeSeries / Discreet
- DataPoints
- Measurements
- Consumer decides frequency
- Can be observed
- Transient
Our road has been paved with…
Event Sourcing
Traditional Database
BankAccount Id: 123 Owner: Jane Doe Balance: $10
Event Sourcing
BankAccountOpened Id: 123 Owner: John Doe DepositPerformed Id: 123 Amount: $20 OwnerChanged Id: 123 NewOwner: Jane Doe WithdrawalPerformed Id: 123 Amount: $10
Event Store
«Historical record»
Streams
All
BankAccountOpened DepositPerformed OwnerChanged WithdrawalPerformed MoneyTransferred
Account Details
BankAccountOpened OwnerChanged
Account Ledger
DepositPerformed WithdrawalPerformed MoneyTransferred
Positioning
BankAccountOpened Id: 123 Owner: John Doe DepositPerformed Id: 123 Amount: $20 OwnerChanged Id: 123 NewOwner: Jane Doe WithdrawalPerformed Id: 123 Amount: $10
Processor A Position: 3 Processor B Position: 1 Processor C Position: 0
Restoring Objects
BankAccountOpened Id: 123 Owner: John Doe
Projects to
BankAccount Id: 123 Owner: John Doe Balance: $0
Restoring Objects
BankAccountOpened Id: 123 Owner: John Doe DepositPerformed Id: 123 Amount: $20
Projects to
BankAccount Id: 123 Owner: John Doe Balance: $20
Restoring Objects
BankAccountOpened Id: 123 Owner: John Doe DepositPerformed Id: 123 Amount: $20 OwnerChanged Id: 123 NewOwner: Jane Doe
Projects to
BankAccount Id: 123 Owner: Jane Doe Balance: $20
Restoring Objects
BankAccountOpened Id: 123 Owner: John Doe DepositPerformed Id: 123 Amount: $20 OwnerChanged Id: 123 NewOwner: Jane Doe WithdrawalPerformed Id: 123 Amount: $10
Projects to
BankAccount Id: 123 Owner: Jane Doe Balance: $10
Event Horizon
Microservices
Backend
Storage
Frontend
Microservice A
Backend
Storage
Frontend
Microservice B Fabric
Migrations
BankAccountOpened { Owner } DebitBankAccountOpened { Owner Description } Rename Default value
Private vs public
BankAccountOpened DepositPerformed OwnerChanged WithdrawalPerformed MoneyTransferred BalanceChanged
All Other system
Event Discovery
Open events - interoperability
GDPR
Isolating PII
BankAccountOpened { Firstname Lastname SocialSecurityNumber } PII storage Event in all stream
Isolating PII - streams
BankAccountOpened { Firstname Lastname SocialSecurityNumber } PII mutable stream Event in all stream
Microservice F Microservice E Microservice A
gRPC Event Source Connector
Domain TimeSeries Your Code SDK Runtime
Event Store Transaction Coordinator Event Horizon Microservice B Event Handlers Microservice C Microservice D
DataPoint Manager
Observer Event Source Event Horizon Event Store
Application 1 Application 2
Microservice A
Your Code SDK Runtime
Supert App / Portal
Connectors
External
Legacy Systems
Microservice A
Your Code SDK Runtime
Read Cache Event Store
Microservice B
Your Code SDK Runtime
Read Cache Event Store Read Cache Event Store
Fabric
www.dolittle.com