Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Bottlenecks are out! Java Cache Standard (JSR-...
Search
Galder Zamarreño
April 20, 2013
Technology
0
66
Bottlenecks are out! Java Cache Standard (JSR-107) is in!
Galder Zamarreño
April 20, 2013
Tweet
Share
More Decks by Galder Zamarreño
See All by Galder Zamarreño
Principles and Patterns for Streaming Data Analysis
galderz
0
99
Streaming Data Analysis with Kubernetes
galderz
0
2.5k
The Rough Guide to Java RPC Frameworks
galderz
1
7k
Streaming Data Analysis with Kubernetes
galderz
1
410
Streaming Data Workshop @ Codemotion Madrid
galderz
0
1.4k
Streaming Data : ni pierdas el tren, ni esperes en balde
galderz
0
3k
Data grids : descubre qué esconden los datos
galderz
0
3.1k
Streaming Data Workhop @ Devoxx
galderz
0
360
Streaming Data Analysis with Kubernetes
galderz
0
2k
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
5.6k
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
130
ソースを読むプロセスの例
sat
PRO
15
9.8k
Kubernetes self-healing of your workload
hwchiu
0
380
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
サイバーエージェント流クラウドコスト削減施策「みんなで金塊堀太郎」
kurochan
4
2.2k
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
2
2.5k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
410
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
160
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
0
400
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
Featured
See All Featured
Scaling GitHub
holman
463
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
KATA
mclloyd
PRO
32
15k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Faster Mobile Websites
deanohume
310
31k
Site-Speed That Sticks
csswizardry
13
920
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
GitHub's CSS Performance
jonrohan
1032
470k
Transcript
None
Bottlenecks are out! Java Cache Standard (JSR-107) is in!
! Galder Zamarreño Senior Software Engineer Red Hat, Inc ! 20th April 2013, São Paulo
Galder Zamarreño • R&D Engineer, Red Hat Inc. • Infinispan
developer • Escalante founder and lead • Twitter: @galderz
Agenda • Why we care about bottlenecks • What is
JCache? • Infinispan JCache implementation in action
Why do we care about bottlenecks?
Bottleneck problems Bottlenecks decrease throughput, increase latency... and make users
:(((
We care because we want to make users :))
How can JCache help remove bottlenecks?
What is JCache? Temporary caching API for Java (driven by
JSR-107), originally scheduled to be in EE7... but not any more :(
Infinispan JCache impl JCache 0.6 implemented in Infinispan 5.3.0.Alpha1, but
some parts still in flux
Caching data Caching data that is expensive to retrieve (i.e.
DB) or hard to calculate can boost performance :))
Demo 1: Caching data
Why not use a ConcurrentHashMap to cache data?
Beyond CHMs... JCache allows data to expire, is pluggable with
persistent stores, is designed with distribution in mind, ...etc
Not a ConcurrentMap javax.cache.Cache does not extend j.u.c.ConcurrentMap, but borrows
some ideas...
Demo 2: Cache vs ConcurrentMap
Scale up by distributing the cache
Go multi-node! When a single machine cannot cope with load,
and not $$$ for more powerful machine...
Go multi-node! Run app in multiple nodes, and distribute cache
contents!
Get failover for free! Providing failover for data stored in
caches is one of the biggest advantages of distributed caches!
Demo 3: Cache goes distributed!
Integrate JCache with enterprise technologies
CDI and Transactions Integration with CDI or JTA Transactions is
optional in the spec, but Infinispan implements it :)
Demo 4: Transactional JCache
Summary Q - How JCache can help you remove bottlenecks?
Summary • Provides in-memory, temporary storage, that's better than a
(Concurrent) HashMap • Allows you to distribute the cache, to scale out your application! (and get failover!) • Makes it easy to integrate with enterprise technologies
Questions • http://infinispan.org • http://www.jcp.org/en/jsr/detail?id=107 • https://github.com/galderz/jcache