Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Event Sourcing RubySPBConf 2k18

Event Sourcing RubySPBConf 2k18

Anton Davydov

June 10, 2018

More Decks by Anton Davydov

Other Decks in Programming


  1. me

  2. Cons • we have only current state of the system

    • impossible to understand what happened before
  3. – Event Sourcing pattern
 https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing “Instead of storing just the

    current state of the data in a domain, use an append-only store to record the full series of actions taken on that data”
  4. DDD

  5. • You don’t work with tables you work with events

    • Experemental data structures • Easy to change database implementations
  6. • Easy to add instances for service • Can be

    written on any language and you can call it from any app • Persistance
  7. • Hard for understand and complicated abstraction • Not popular

    in ruby and bad tooling here • Developers need deprogramming
  8. • Hard to get state • Hard to understand the

    whole chain of events • Another architecture type
 with different DB structure
  9. • Async world • Versions and versions compatibility • Updating

    or deleting events • Eventual Consistency
  10. – Martin Fowler “You can use a different model to

    update information than the model you use to read information”
  11. DDD