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