SlideShare a Scribd company logo
1 of 24
Download to read offline
/**
* JCache is here. Say Goodbye to proprietary
* Caching APIs!
*
* @author Jaromir Hamala
* @since 18-03-2014
*/
Who Am I?
● Jaromir Hamala
● Passionate Developer
● Paid by Hazelcast
● Open Source Fan
Warning: May Get Extremely Silly!
Why?
L1 cache reference                            0.5 ns
Branch mispredict                             5   ns
L2 cache reference                            7   ns             
Mutex lock/unlock                            25   ns
Main memory reference                       100   ns             
Compress 1K bytes with Zippy              3,000   ns
Send 1K bytes over 1 Gbps network        10,000   ns    0.01 ms
Read 4K randomly from SSD*              150,000   ns    0.15 ms
Read 1 MB sequentially from memory      250,000   ns    0.25 ms
Round trip within same datacenter       500,000   ns    0.5  ms
Read 1 MB sequentially from SSD*      1,000,000   ns    1    ms  
Disk seek                            10,000,000   ns   10    ms   
Read 1 MB sequentially from disk     20,000,000   ns   20    ms  
Send packet CA­>Netherlands­>CA     150,000,000   ns  150    ms
Sources: https://gist.github.com/jboner/2841832 http://commons.wikimedia.org/wiki/File:Roaring_Lion_Travis_Jervey.jpg
Evolutions of Caching
● Roll your own :-( Do. Not. Do. That.
● Use a proprietary API :-/
● Use JCache! :-)
What is JCache
● Standard API for Caching
● Think of “JDBC for caching” (only better:)
● JSR-107
– The longest running JSR ever (?)
● “The best thing since sliced bread”
● Targetted to Java SE 6+
What really is JCache
● Basic Caching - somewhat similar to a j.u.Map
● Events
● Computations
Be Aware: It is just an API!
● Think of JMS (only better:)
● It doesn't say anything about data distribution,
network topology or wire-level protocol!
Existing Implementations
● Coherence
● EHCache
● Hazelcast
● Infinispan
Source: http://www.mtbeer.com/how-beer-tap-handles-are-made/
Quick Start
1. Add JCache API JAR on a classpath
2. Choose your implementation
3. Code!
Source: http://commons.wikimedia.org/wiki/File:Start_Jeremy_Wariner_2007.jpg
Basic Terminology
● Cache
● CacheManager – “provides a means of
establishing, configuring acquiring, closing and
destroying uniquely named Caches.”
– Just think of CacheFactory (for now)
● CacheProvider – manages lifecycle of
CacheManagers CacheProvider
CacheManager CacheManager
Cache1
Cache2
Cache3
Cache4
Cache3
Interesting Features I
● Entry Processors
– Data Transformations
– Computing
Interesting Features II
● Listeners
Cache
Listener1
Event
Cache User Update
Listener2
Event
Listeners
● CacheEntryCreatedListener
– onCreated();
● CacheEntryRemovedListener
– onRemoved();
● CacheEntryUpdatedListener
– onUpdated();
● CacheEntryExpiredListener
– onExpired();
Cache Loaders / Writers
Source: http://commons.wikimedia.org/wiki/File:Stipula_fountain_pen.jpg
CacheLoader
public interface CacheLoader<K, V> {
  V load(K key) throws CacheLoaderException;
  
  Map<K, V> loadAll(Iterable<? extends K> 
keys) throws CacheLoaderException;
}
CacheWriter
public interface CacheWriter<K, V> {
  void write(Cache.Entry<? extends K, ? extends V> 
entry) throws CacheWriterException;
  void writeAll(Collection<Cache.Entry<? extends K, 
? extends V>> entries) throws CacheWriterException;
  void delete(Object key) throws 
CacheWriterException;
  void deleteAll(Collection<?> keys) throws 
CacheWriterException;
}
Other Features
● Annotations
– @CacheResult
– @CachePut
– @CacheRemove
– @CacheRemoveAll
● Expiry Policy
● Statistics
● Store-By-Value vs. Store-By-Reference
Integrations
● Spring Framework
● Java EE 8 (maybe)
● Payara
Source: http://towson.shownbyphotos.com/20060818-towson-univ-0003-800.jpg-large.html
Tips & Tricks
● Isolate Implementation-Specific Stuff
● Be carefull with the default CachingProvider
● EntryProcessors are awesome!
http://en.wikipedia.org/wiki/File:1_bowl_skate_boarding.JPG http://www.mylifeonboard.net/2011/03/04/is-it-dangerous-yeah-danger-is-the-middle-name-of-our-sport/
Missing Bits
● No Async Interface in the spec
– Proprietary extensions
● Eviction
● Query
Further Sources
● https://jcp.org/en/jsr/detail?id=107 - 130 pages
● https://github.com/jsr107
● https://groups.google.com/forum/#!forum/jsr107
Questions?
String viking = 
dictionary.get(“Thank you”);
assert(“tack”, viking);

More Related Content

What's hot

Managing a lot of servers
Managing a lot of serversManaging a lot of servers
Managing a lot of serversMarian Marinov
 
PHP Benelux 2017 - Caching The Right Way
PHP Benelux 2017 -  Caching The Right WayPHP Benelux 2017 -  Caching The Right Way
PHP Benelux 2017 - Caching The Right WayAndré Rømcke
 
Let's Encrypt failures
Let's Encrypt failuresLet's Encrypt failures
Let's Encrypt failuresMarian Marinov
 
Vagrant - Team Development made easy
Vagrant - Team Development made easyVagrant - Team Development made easy
Vagrant - Team Development made easyMarco Silva
 
Minio Cloud Storage
Minio Cloud StorageMinio Cloud Storage
Minio Cloud StorageMinio
 
Hyper-V y Contenedores, una nueva forma de virtualización
Hyper-V y Contenedores, una nueva forma de virtualizaciónHyper-V y Contenedores, una nueva forma de virtualización
Hyper-V y Contenedores, una nueva forma de virtualizaciónJuan Ignacio Oller Aznar
 
How to make a WoW server Warlords of Draenor
How to make a WoW server Warlords of DraenorHow to make a WoW server Warlords of Draenor
How to make a WoW server Warlords of DraenorMohit Maheshwari
 
Lighting fast rails with zeus
Lighting fast rails with zeusLighting fast rails with zeus
Lighting fast rails with zeusPhilipp Fehre
 
SoftNAS Cloud NAS vs. Basic File Services
SoftNAS Cloud NAS vs. Basic File ServicesSoftNAS Cloud NAS vs. Basic File Services
SoftNAS Cloud NAS vs. Basic File ServicesBuurst
 
Post Metasploitation
Post MetasploitationPost Metasploitation
Post Metasploitationegypt
 
Swift on raspberry pi
Swift on raspberry piSwift on raspberry pi
Swift on raspberry piiCHEF
 
Practical Glusto Example
Practical Glusto ExamplePractical Glusto Example
Practical Glusto ExampleGluster.org
 
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"Defcon Moscow
 
Arbiter volumes in gluster
Arbiter volumes in glusterArbiter volumes in gluster
Arbiter volumes in glusteritisravi
 

What's hot (20)

Appsecforum2014 nov14-bk-cryptool-rump
Appsecforum2014 nov14-bk-cryptool-rumpAppsecforum2014 nov14-bk-cryptool-rump
Appsecforum2014 nov14-bk-cryptool-rump
 
Managing a lot of servers
Managing a lot of serversManaging a lot of servers
Managing a lot of servers
 
PHP Benelux 2017 - Caching The Right Way
PHP Benelux 2017 -  Caching The Right WayPHP Benelux 2017 -  Caching The Right Way
PHP Benelux 2017 - Caching The Right Way
 
Let's Encrypt failures
Let's Encrypt failuresLet's Encrypt failures
Let's Encrypt failures
 
Vagrant - Team Development made easy
Vagrant - Team Development made easyVagrant - Team Development made easy
Vagrant - Team Development made easy
 
Minio Cloud Storage
Minio Cloud StorageMinio Cloud Storage
Minio Cloud Storage
 
Hyper-V y Contenedores, una nueva forma de virtualización
Hyper-V y Contenedores, una nueva forma de virtualizaciónHyper-V y Contenedores, una nueva forma de virtualización
Hyper-V y Contenedores, una nueva forma de virtualización
 
How to make a WoW server Warlords of Draenor
How to make a WoW server Warlords of DraenorHow to make a WoW server Warlords of Draenor
How to make a WoW server Warlords of Draenor
 
Lighting fast rails with zeus
Lighting fast rails with zeusLighting fast rails with zeus
Lighting fast rails with zeus
 
SoftNAS Cloud NAS vs. Basic File Services
SoftNAS Cloud NAS vs. Basic File ServicesSoftNAS Cloud NAS vs. Basic File Services
SoftNAS Cloud NAS vs. Basic File Services
 
Post Metasploitation
Post MetasploitationPost Metasploitation
Post Metasploitation
 
Swift on raspberry pi
Swift on raspberry piSwift on raspberry pi
Swift on raspberry pi
 
Node
NodeNode
Node
 
Restinio (actual aug 2018)
Restinio (actual aug 2018)Restinio (actual aug 2018)
Restinio (actual aug 2018)
 
Tuning linux for mongo db
Tuning linux for mongo dbTuning linux for mongo db
Tuning linux for mongo db
 
Virtual boxen
Virtual boxenVirtual boxen
Virtual boxen
 
Practical Glusto Example
Practical Glusto ExamplePractical Glusto Example
Practical Glusto Example
 
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
 
Web Development Fundamentals
Web Development FundamentalsWeb Development Fundamentals
Web Development Fundamentals
 
Arbiter volumes in gluster
Arbiter volumes in glusterArbiter volumes in gluster
Arbiter volumes in gluster
 

Viewers also liked

Advanced Pay Per Click
Advanced Pay Per ClickAdvanced Pay Per Click
Advanced Pay Per ClickShushant Jha
 
Why add new Procedures to my Medical Practive
Why add new Procedures to my Medical PractiveWhy add new Procedures to my Medical Practive
Why add new Procedures to my Medical PractiveEmpire Medical Training
 
The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014Roberto Fuso Nerini
 
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone BordetHTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordethamidsamadi
 
The Vortex - Presentazione Istituzionale
The Vortex - Presentazione IstituzionaleThe Vortex - Presentazione Istituzionale
The Vortex - Presentazione IstituzionaleRoberto Fuso Nerini
 
Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014 Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014 Roberto Fuso Nerini
 
Java overview 20131022
Java overview 20131022Java overview 20131022
Java overview 20131022hamidsamadi
 
The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014Roberto Fuso Nerini
 
2481 Barrington Rd
2481 Barrington Rd2481 Barrington Rd
2481 Barrington RdMike Scott
 
Front Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic PracticeFront Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic PracticeEmpire Medical Training
 
Home Staging Seminar Slide Share
Home Staging Seminar Slide ShareHome Staging Seminar Slide Share
Home Staging Seminar Slide ShareMike Scott
 

Viewers also liked (15)

Easy Tools for Expo 2015
Easy Tools for Expo 2015Easy Tools for Expo 2015
Easy Tools for Expo 2015
 
Advanced Pay Per Click
Advanced Pay Per ClickAdvanced Pay Per Click
Advanced Pay Per Click
 
Why add new Procedures to my Medical Practive
Why add new Procedures to my Medical PractiveWhy add new Procedures to my Medical Practive
Why add new Procedures to my Medical Practive
 
Presentazione taff projects
Presentazione taff projectsPresentazione taff projects
Presentazione taff projects
 
The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014The vortex job2.0_digitale e lavoro_04102014
The vortex job2.0_digitale e lavoro_04102014
 
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone BordetHTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
HTTP 2.0 & Java: Current Status", Part 1, jDays 2015 Speaker: "Simone Bordet
 
The Vortex - Presentazione Istituzionale
The Vortex - Presentazione IstituzionaleThe Vortex - Presentazione Istituzionale
The Vortex - Presentazione Istituzionale
 
Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014 Una nuova dimensione della comunicazione - Bergamo 15/11/2014
Una nuova dimensione della comunicazione - Bergamo 15/11/2014
 
#2 4 ps of marketing
#2 4 ps of marketing#2 4 ps of marketing
#2 4 ps of marketing
 
app-eventi-verona
app-eventi-veronaapp-eventi-verona
app-eventi-verona
 
Java overview 20131022
Java overview 20131022Java overview 20131022
Java overview 20131022
 
The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014The vortex job2.0_cambiamento_04102014
The vortex job2.0_cambiamento_04102014
 
2481 Barrington Rd
2481 Barrington Rd2481 Barrington Rd
2481 Barrington Rd
 
Front Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic PracticeFront Office Fundamentals for the Aesthetic Practice
Front Office Fundamentals for the Aesthetic Practice
 
Home Staging Seminar Slide Share
Home Staging Seminar Slide ShareHome Staging Seminar Slide Share
Home Staging Seminar Slide Share
 

Similar to JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker: "Jaromir Hamala

5 Tips for Getting Started with Pivotal GemFire
5 Tips for Getting Started with Pivotal GemFire5 Tips for Getting Started with Pivotal GemFire
5 Tips for Getting Started with Pivotal GemFireVMware Tanzu
 
Classical Distributed Computing Studies. Washington DC Apache Spark Interacti...
Classical Distributed Computing Studies. Washington DC Apache Spark Interacti...Classical Distributed Computing Studies. Washington DC Apache Spark Interacti...
Classical Distributed Computing Studies. Washington DC Apache Spark Interacti...Richard Seymour
 
What makes a LDAP server running fast ? An bit of insight about the various b...
What makes a LDAP server running fast ? An bit of insight about the various b...What makes a LDAP server running fast ? An bit of insight about the various b...
What makes a LDAP server running fast ? An bit of insight about the various b...LDAPCon
 
Maximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performanceMaximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performanceAmazon Web Services
 
Kafka on ZFS: Better Living Through Filesystems
Kafka on ZFS: Better Living Through Filesystems Kafka on ZFS: Better Living Through Filesystems
Kafka on ZFS: Better Living Through Filesystems confluent
 
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward
 
The path through 40G towards 100G
The path through 40G towards 100GThe path through 40G towards 100G
The path through 40G towards 100GJisc
 
Bringing code to the data: from MySQL to RocksDB for high volume searches
Bringing code to the data: from MySQL to RocksDB for high volume searchesBringing code to the data: from MySQL to RocksDB for high volume searches
Bringing code to the data: from MySQL to RocksDB for high volume searchesIvan Kruglov
 
Caching Methodology & Strategies
Caching Methodology & StrategiesCaching Methodology & Strategies
Caching Methodology & StrategiesTiệp Vũ
 
Caching methodology and strategies
Caching methodology and strategiesCaching methodology and strategies
Caching methodology and strategiesTiep Vu
 
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...DataStax Academy
 
Scylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast Enough
Scylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast EnoughScylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast Enough
Scylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast EnoughScyllaDB
 
Application Caching: The Hidden Microservice
Application Caching: The Hidden MicroserviceApplication Caching: The Hidden Microservice
Application Caching: The Hidden MicroserviceScott Mansfield
 
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014Amazon Web Services
 
1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBS1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBSJim Plush
 
Tuning the Kernel for Varnish Cache
Tuning the Kernel for Varnish CacheTuning the Kernel for Varnish Cache
Tuning the Kernel for Varnish CachePer Buer
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)Amazon Web Services
 
Designs, Lessons and Advice from Building Large Distributed Systems
Designs, Lessons and Advice from Building Large Distributed SystemsDesigns, Lessons and Advice from Building Large Distributed Systems
Designs, Lessons and Advice from Building Large Distributed SystemsDaehyeok Kim
 

Similar to JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker: "Jaromir Hamala (20)

5 Tips for Getting Started with Pivotal GemFire
5 Tips for Getting Started with Pivotal GemFire5 Tips for Getting Started with Pivotal GemFire
5 Tips for Getting Started with Pivotal GemFire
 
Classical Distributed Computing Studies. Washington DC Apache Spark Interacti...
Classical Distributed Computing Studies. Washington DC Apache Spark Interacti...Classical Distributed Computing Studies. Washington DC Apache Spark Interacti...
Classical Distributed Computing Studies. Washington DC Apache Spark Interacti...
 
What makes a LDAP server running fast ? An bit of insight about the various b...
What makes a LDAP server running fast ? An bit of insight about the various b...What makes a LDAP server running fast ? An bit of insight about the various b...
What makes a LDAP server running fast ? An bit of insight about the various b...
 
The Smug Mug Tale
The Smug Mug TaleThe Smug Mug Tale
The Smug Mug Tale
 
Maximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performanceMaximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performance
 
Kafka on ZFS: Better Living Through Filesystems
Kafka on ZFS: Better Living Through Filesystems Kafka on ZFS: Better Living Through Filesystems
Kafka on ZFS: Better Living Through Filesystems
 
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
 
The path through 40G towards 100G
The path through 40G towards 100GThe path through 40G towards 100G
The path through 40G towards 100G
 
Did you know
Did you knowDid you know
Did you know
 
Bringing code to the data: from MySQL to RocksDB for high volume searches
Bringing code to the data: from MySQL to RocksDB for high volume searchesBringing code to the data: from MySQL to RocksDB for high volume searches
Bringing code to the data: from MySQL to RocksDB for high volume searches
 
Caching Methodology & Strategies
Caching Methodology & StrategiesCaching Methodology & Strategies
Caching Methodology & Strategies
 
Caching methodology and strategies
Caching methodology and strategiesCaching methodology and strategies
Caching methodology and strategies
 
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
 
Scylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast Enough
Scylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast EnoughScylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast Enough
Scylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast Enough
 
Application Caching: The Hidden Microservice
Application Caching: The Hidden MicroserviceApplication Caching: The Hidden Microservice
Application Caching: The Hidden Microservice
 
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
 
1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBS1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBS
 
Tuning the Kernel for Varnish Cache
Tuning the Kernel for Varnish CacheTuning the Kernel for Varnish Cache
Tuning the Kernel for Varnish Cache
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
 
Designs, Lessons and Advice from Building Large Distributed Systems
Designs, Lessons and Advice from Building Large Distributed SystemsDesigns, Lessons and Advice from Building Large Distributed Systems
Designs, Lessons and Advice from Building Large Distributed Systems
 

Recently uploaded

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 

JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker: "Jaromir Hamala