keep your data close and your caches hotter
play

Keep your Data Close and your Caches Hotter using Apache Kafka, - PowerPoint PPT Presentation

Keep your Data Close and your Caches Hotter using Apache Kafka, Connect and KSQL @gamussa | @riferrei | #IMCSummit @gamussa | @riferrei | #IMCSummit 2 @gamussa | @riferrei | #IMCSummit Raffle, yeah Raffle, yeah


  1. Keep your Data Close and your Caches Hotter using Apache Kafka, Connect and KSQL @gamussa | @riferrei | #IMCSummit @gamussa | @riferrei | #IMCSummit

  2. 2 @gamussa | @riferrei | #IMCSummit

  3. Raffle, yeah 🚁

  4. Raffle, yeah 🚁 Follow @gamussa @riferrei 📹 🖽 👭 Tag @gamussa @riferrei With #IMCSummit

  5. 4 Data is only useful if it is Fresh and Contextual @gamussa | @riferrei | #IMCSummit

  6. @gamussa | @riferrei | #IMCSummit

  7. What if the airbag deploys 30 seconds after the collision? @gamussa | @riferrei | #IMCSummit

  8. @gamussa | @riferrei | #IMCSummit

  9. December 6th, 2010: Commuter rail train hits elderly driver @gamussa | @riferrei | #IMCSummit

  10. 7 What if the information about the commuter rail train is outdated? @gamussa | @riferrei | #IMCSummit

  11. 8 Caches can be a Solution for Data that is Fresh @gamussa | @riferrei | #IMCSummit

  12. 9 APIs need to access data freely and easily Read API Cache Write Read Write @gamussa | @riferrei | #IMCSummit

  13. 9 APIs need to access data freely and easily Data should never be treated as a ● scarce resource in applications Read API Cache Write Read Write @gamussa | @riferrei | #IMCSummit

  14. 9 APIs need to access data freely and easily Data should never be treated as a ● scarce resource in applications Read API Cache Latency should be kept as minimal to ● Write ensure a better user experience Read Write @gamussa | @riferrei | #IMCSummit

  15. 9 APIs need to access data freely and easily Data should never be treated as a ● scarce resource in applications Read API Cache Latency should be kept as minimal to ● Write ensure a better user experience Data should be not be static: keep the ● Read data fresh continuously Write @gamussa | @riferrei | #IMCSummit

  16. 9 APIs need to access data freely and easily Data should never be treated as a ● scarce resource in applications Read API Cache Latency should be kept as minimal to ● Write ensure a better user experience Data should be not be static: keep the ● Read data fresh continuously Write Find ways to handle large amounts of ● data without breaking the APIs @gamussa | @riferrei | #IMCSummit

  17. 10 Caches can be either Built-in Caches built-in or distributed Read API Cache Write Distributed Caches Cache Read API Cache Write Cache @gamussa | @riferrei | #IMCSummit

  18. 10 Caches can be either Built-in Caches built-in or distributed Read API Cache If data can fit into the API memory, then ● Write you should use built-in caches Distributed Caches Cache Read API Cache Write Cache @gamussa | @riferrei | #IMCSummit

  19. 10 Caches can be either Built-in Caches built-in or distributed Read API Cache If data can fit into the API memory, then ● Write you should use built-in caches Otherwise, you may need to use ● distributed caches for large sizes Distributed Caches Cache Read API Cache Write Cache @gamussa | @riferrei | #IMCSummit

  20. 10 Caches can be either Built-in Caches built-in or distributed Read API Cache If data can fit into the API memory, then ● Write you should use built-in caches Otherwise, you may need to use ● distributed caches for large sizes Distributed Caches Cache Some cache implementations provides ● Read API Cache the best of both cases Write Cache @gamussa | @riferrei | #IMCSummit

  21. 10 Caches can be either Built-in Caches built-in or distributed Read API Cache If data can fit into the API memory, then ● Write you should use built-in caches Otherwise, you may need to use ● distributed caches for large sizes Distributed Caches Cache Some cache implementations provides ● Read API Cache the best of both cases Write For distributed caches, make sure to ● Cache always find a good way to O(1) @gamussa | @riferrei | #IMCSummit

  22. 11 DEMO @gamussa | @riferrei | #IMCSummit

  23. 12 @gamussa | @riferrei | #IMCSummit

  24. 12 @gamussa | @riferrei | #IMCSummit

  25. 13 Join the fun ! @gamussa | @riferrei | #IMCSummit

  26. 14 @gamussa | @riferrei | #IMCSummit

  27. 15 Caching Patterns @gamussa | @riferrei | #IMCSummit

  28. Caching Pattern: 
 Cache API Refresh Ahead Proactively updates the cache ● Kafka Kafka Connect Connect ● Keep the entries always in-sync Ideal for latency sensitive cases ● Ideal when data read is costly ● ● It may need initial data loading @gamussa | @riferrei | #IMCSummit

  29. Transform and adapt records before delivery Caching Pattern: 
 Application API Cache Refresh Ahead / Adapt ● Proactively updates the cache Keep the entries always in-sync ● Kafka Kafka Connect Connect Ideal for latency sensitive cases ● ● Ideal when data read is costly It may need initial data loading ● Schema Registry for canonical models @gamussa | @riferrei | #IMCSummit

  30. Caching Pattern: 
 Application API Cache Write Behind ● Removes I/O pressure from app Allows true horizontal scalability ● Kafka Kafka Connect Connect Ensures ordering and ● persistence Minimizes DB code complexity ● ● Totally handles DB unavailability @gamussa | @riferrei | #IMCSummit

  31. Transform and adapt records before delivery Caching Pattern: 
 Application API Cache Write Behind / Adapt ● Removes I/O pressure from app Allows true horizontal scalability ● Kafka Kafka Connect Connect Ensures ordering and ● persistence Minimizes DB code complexity ● ● Totally handles DB unavailability Schema Registry for canonical models @gamussa | @riferrei | #IMCSummit

  32. Caching Pattern: 
 Event Federation ● Replicates data across regions Keep multiple regions in-sync ● Great to improve RPO and RTO ● ● Handles lazy/slow networks well Works well if its used along with ● Confluent Replicator Read-Through and Write-Through <<MirrorMaker>> patterns. @gamussa | @riferrei | #IMCSummit

  33. 21 Kafka Connect Implementation Strategies @gamussa | @riferrei | #IMCSummit

  34. Kafka Connect Kafka Connect support for In-Memory Caches Connector for Redis is open and it ● Kafka Connect is available in Confluent Hub Connector for Memcached is open ● and it is available in Confluent Hub Kafka Connect ● Connectors for both GridGain and Apache Ignite implementations. Kafka Connect ● Connector for InfiniSpan is open and is maintained by Red Hat @gamussa | @riferrei | #IMCSummit

  35. Oracle Frameworks for other GoldenGate In-Memory Caches Oracle provides HotCache from ● Hazelcast Jet GoldenGate for Oracle Coherence Hazelcast has the Jet framework, ● which provides support for Kafka Spring Data Spring Kafka ● Pivotal GemFire (Apache Geode) has good support from Spring Connect Any ● Good news: you can always write Framework Cache your own sink using Connect API @gamussa | @riferrei | #IMCSummit

  36. Interested on DB CDC? Then meet Debezium ! Amazing CDC technology to pull ● data out from databases to Kafka Works in a log level, which means ● true CDC implementation for your projects instead of record polling Open-source maintained by Red ● Hat. Have broad support for many popular databases. It is built on top of Kafka Connect ● @gamussa | @riferrei | #IMCSummit

  37. Support for Running Kafka Connect Servers Run by yourself on BareMetal: ● https://kafka.apache.org/downloads https:// Kafka www.confluent.io/download Connect ● IaaS on AWS or Google Cloud: https://github.com/confluentinc/ccloud-tools ● Running using Docker Containers: https://hub.docker.com/r/confluentinc/cp-kafka- connect/ Running using Kubernetes: https:// ● github.com/confluentinc/cp-helm-chart https:// www.confluent.io/confluent-operator/ @gamussa | @riferrei | #IMCSummit

  38. 26 Stay in touch cnfl.io/blog cnfl.io/slack cnfl.io/meetups

  39. Thanks ! @riferrei ricardo@confluent.io @gamussa viktor@confluent.io https://slackpass.io/confluentcommunity #connect #ksql @gamussa | @riferrei | #IMCSummit @

  40. 28

Recommend


More recommend