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

Boosting your applications with distributed caches/datagrids

Boosting your applications with distributed caches/datagrids

Infinispan is an in-memory datagrid/distributed cache whose life started in October 2008. Now in 2019 Infinispan 10 is available and is a powerful tool with many features that can help you build great applications and microservices. After two years as a developer in the team, moving around in meetups and conferences, what I have found is that many developers still don't know what distributed caches and in-memory datagrids are.
How can Infinispan boost the performance of your application? Which are the use cases, good practices, and patterns to implement modern and reactive architectures? Is Infinispan reactive itself? Which are the frameworks that are supported by Infinispan? How can we use it with containers and Kubernetes/Openshift?

Katia Aresti

May 09, 2019
Tweet

More Decks by Katia Aresti

Other Decks in Programming

Transcript

  1. D A T A G R I D 2019 -

    Infinispan 10 Open-Source, Apache License 2.0
  2. D A T A G R I D 2019 -

    Infinispan 10 Open-Source, Apache License 2.0
  3. 1, Lumos 2, Inflatus 1, Lumos Potter-1 Spells Potter-2 Spells

    Potter-3 Spells Local Local Local PUT 2,Inflatus GET 2 REMOVE 1 Infinispan Embedded Local Cache Null
  4. 1, Lumos 2, Inflatus 1, Lumos 2, Inflatus 1, Lumos

    2, Inflatus Potter-1 Spells Potter-2 Spells Potter-3 Spells Replicated Infinispan Embedded Replicated Cache
  5. 1, Lumos 2, Inflatus 1, Lumos 2, Inflatus 1, Lumos

    2, Inflatus Potter-1 Spells Potter-2 Spells Potter-3 Spells PUT 3,Reducto 3, Reducto 3, Reducto Infinispan Embedded Replicated Cache Replicated
  6. 1, Lumos 2, Inflatus 3, Reducto 1, Lumos 2, Inflatus

    3, Reducto 1, Lumos 2, Inflatus 3, Reducto Potter-1 Spells Potter-2 Spells Potter-3 Spells Infinispan Embedded Replicated Cache Replicated
  7. 2, Inflatus 3, Reducto Potter-1 Spells Potter-2 Spells Potter-3 Spells

    1, Lumos Infinispan Embedded Distributed Cache Distributed
  8. 2, Inflatus 3, Reducto Potter-1 Spells Potter-2 Spells Potter-3 Spells

    GET 3 REDUCTO GET 3 Reducto 1, Lumos Distributed Infinispan Embedded Distributed Cache
  9. 2, Inflatus 3, Reducto Potter-1 Spells Potter-2 Spells Potter-3 Spells

    1, Lumos Distributed Infinispan Embedded Distributed Cache Null GET 3
  10. 1, Lumos 2, Inflatus 2, Inflatus 3, Reducto 1, Lumos

    3, Reducto Potter-1 Spells Potter-2 Spells Potter-3 Spells PUT 4, Protego 4, Protego Distributed Infinispan Embedded Distributed Cache
  11. 1, Lumos 2, Inflatus 4, Protego 2, Inflatus 3, Reducto

    4, Protego 1, Lumos 3, Reducto Potter-1 Spells Potter-2 Spells Potter-3 Spells Distributed Infinispan Embedded Distributed Cache
  12. 2, Inflatus 3, Reducto 4, Protego 1, Lumos 3, Reducto

    Potter-1 Spells Potter-2 Spells Potter-3 Spells 1, Lumos 2, Inflatus 4, Protego Distributed Infinispan Embedded Distributed Cache REDUCTO GET 3 GET 3 Reducto
  13. 1, Lumos 2, Inflatus 4, Protego 2, Inflatus 3, Reducto

    4, Protego 1, Lumos 3, Reducto Potter-4 Spells Potter-1 Spells Potter-2 Spells Potter-3 Spells Distributed Infinispan Embedded Distributed Cache
  14. Potter-1 Spells 1, Lumos 2, Inflatus 4, Protego 2, Inflatus

    3, Reducto 4, Protego 1, Lumos 3, Reducto Potter-3 Spells Potter-2 Spells Potter-4 Spells CH Infinispan Embedded Distributed Cache
  15. Potter-1 Spells 1, Lumos 4, Protego 2, Inflatus 3, Reducto

    1, Lumos 3, Reducto 2, Inflatus 4, Protego Potter-3 Spells Potter-2 Spells Potter-4 Spells Infinispan Embedded Distributed Cache CH
  16. Potter-1 Spells 1, Lumos 4, Protego 2, Inflatus 3, Reducto

    1, Lumos 3, Reducto 2, Inflatus 4, Protego Potter-3 Spells Potter-2 Spells Potter-4 Spells CH CH Infinispan Embedded Distributed Cache
  17. Potter-1 Spells 1, Lumos 4, Protego 2, Inflatus 3, Reducto

    1, Lumos 3, Reducto 2, Inflatus 4, Protego Potter-3 Spells Potter-2 Spells Potter-4 Spells Infinispan Embedded Distributed Cache CH
  18. Event Bus Voldemort Taboo Curse Wizard 1. Sends to address

    NAMED Death Eater 2. Consumes from address NAMED
  19. Event Bus Voldemort Taboo Curse Wizard 1. Sends to address

    NAMED Death Eater 2. Consumes from address NAMED 3. Sends to address ADAVA_KEDAVRA
  20. Wizard Death Eater Dark Lord (aka Voldemort) Event Bus 2.

    Consumes from address NAMED 4. Consumes from address ADAVA_KEDAVRA 3. Sends to address ADAVA_KEDAVRA 1. Sends to address NAMED Voldemort Taboo Curse
  21. “When you are embedding data, your application is not stateless

    anymore” Professor Severus Snape Credit giphy.com
  22. Infinispan Client/Server Microservice 1 Microservice 2 hotrod Rest memcache ...

    Microservice 3 MagicData Infinispan Server Cluster
  23. Data Center 1 Data Center 2 Load Balancer APP APP

    Microservice APP APP Microservice Shared State Shared State Shared State Shared State Young Wizards Old Wizards MagicData MagicData
  24. Hogwarts Magic Creator Hogwarts Magic Monitoring Put Every 3‘ Magic

    Store Infinispan Server Cluster Spells Characters Magic
  25. Hogwarts Magic Creator Hogwarts Magic WebSocket Hogwarts Magic Monitoring Put

    Every 3‘ Magic Store Infinispan Server Cluster Continuous Query Magic Store Characters performing magic in Hogwarts Spells Characters Magic
  26. Hogwarts Magic Creator Hogwarts Magic WebSocket Hogwarts Magic Monitoring Potter

    Web Put Every 3‘ Magic Store Infinispan Server Cluster Continuous Query Magic Store Characters performing magic in Hogwarts WebSocket Magic Spells Characters