Successfully reported this slideshow.
Using Event-Driven Architectures with Cassandra
Upcoming SlideShare
Loading in …5
×
No Downloads
No notes for slide
C* users should care about their application architecture for the simple reason that C* isn’t magic and can’t do everything. Cassandra can’t solve the problem of real-time correlation or reaction at the application layer. Developers have to solve these problems themselves, and Cassandra is just one part of the solution.Event Stream Processing and CEP play nicely with Cassandra, and that’s what we’ll be focusing onIntentionally small and stupid- 1. @petabridge Petabridge.com Event-Driven Architectures with Cassandra Aaron Stannard, CTO & Cofounder Petabridge DataStax MVP 2015
- 2. @petabridge Petabridge.com Crash Course in EDA
- 3. @petabridge Petabridge.com Successful Product
- 4. @petabridge Petabridge.com Struggling Business
- 5. @petabridge Petabridge.com A Radical New Product
- 6. @petabridge Petabridge.com Allow our customers to start conversations with specific types of users.
- 7. @petabridge Petabridge.com Had to be done in real-time for best results.
- 8. @petabridge Petabridge.com Prototype: HTTP + Database
- 9. @petabridge Petabridge.com (Read after Write)
- 10. @petabridge Petabridge.com Theory
- 11. @petabridge Petabridge.com Reality
- 12. @petabridge Petabridge.com Breakthrough!
- 13. @petabridge Petabridge.com I had STATEFUL, REACTIVE, STREAM PROCESSING problem!
- 14. @petabridge Petabridge.com Implementation: HTTP -> EDA -> C*
- 15. @petabridge Petabridge.com Why Do We Care About EDA?
- 16. @petabridge Petabridge.com Databases Aren’t Magical
- 17. @petabridge Petabridge.com Event-Driven Architecture Concepts
- 18. @petabridge Petabridge.com Key Terms • Event – a significant change in “state” • Message – a notification of an event • Emitter – detect, gather, transfer events • Sinks – react to events immediately • Channels – conduit between emitters and sinks
- 19. @petabridge Petabridge.com Goals & Benefits • Extreme decoupling • Easily distributed • Inherently asynchronous and concurrent
- 20. @petabridge Petabridge.com EDA Styles • Simple Event Processing • Event Stream Processing • Complex Event Processing (CEP)
- 21. @petabridge Petabridge.com Event Stream Processing w/ FSMs
- 22. @petabridge Petabridge.com
- 23. @petabridge Petabridge.com
- 24. @petabridge Petabridge.com
- 25. @petabridge Petabridge.com CQL Schema CREATE TABLE IF NOT EXISTS FSMState ( persistence_id text, state_id int, state_data blob, PRIMARY KEY (persistence_id, state_id) )
- 26. @petabridge Petabridge.com Event Sourcing with C*
- 27. @petabridge Petabridge.com
- 28. @petabridge Petabridge.com
- 29. @petabridge Petabridge.com EDA + C* Tips and Tricks • Large number of small sinks works best • Define simple, reusable journals and snapshots • C* == durable backup, App = single source of truth • TTL everywhere your business domain supports it
- 30. @petabridge Petabridge.com Have questions? Ask us! http://petabridge.com/
Public clipboards featuring this slide
No public clipboards found for this slide