Top Banner
Red Hat Confidential Distributed Cache & Data Grid Platform PRESENTED BY: Jaehong Cheon| | DATE: 12/11/2013
31

Infinispan @ Red Hat Forum 2013

May 06, 2015

Download

Technology

Jaehong Cheon
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Infinispan @ Red Hat Forum 2013

Red Hat Confidential

Distributed Cache & Data Grid PlatformPRESENTED BY: Jaehong Cheon| | DATE: 12/11/2013

Page 2: Infinispan @ Red Hat Forum 2013

About Speaker

전재홍- 한화 S&C, 모바일 플랫폼 개발- JBoss User Group Korea 커뮤니티 - JBUG Korea 인피니스팬 스터디 그룹- “JBoss 인피니스팬 따라잡기” 번역

Page 3: Infinispan @ Red Hat Forum 2013

Agenda

Data Grid

Infinispan

Infinispan Key Features

Use Cases

References

Page 4: Infinispan @ Red Hat Forum 2013

Red Hat ConfidentialRed Hat Confidential

Data Grid

Page 5: Infinispan @ Red Hat Forum 2013

Distributed Cache

Fast access to data

Performance boost

Elasticity

High Availability

JSR 107 (Temporary Caching for the Java Platform)

– read, write, expiration, write-through, distribution

– JBoss Cache

Page 6: Infinispan @ Red Hat Forum 2013

Distributed Cache

Persis-tence

(Database)

DistributedCacheCluster

Cache

Cache

Cache

App

App

App

Page 7: Infinispan @ Red Hat Forum 2013

Data Grid

Evolution of distributed caches

Well-known pattern to boost data access performance and scalability

Clustered by nature

JSR 347 (Data Grids for the Java Platform)

– Querying, map-reducing standard way, consistency

– Infinispan

Page 8: Infinispan @ Red Hat Forum 2013

Red Hat ConfidentialRed Hat Confidential

Infinispan

Page 9: Infinispan @ Red Hat Forum 2013

Infinispan

Distributed in-memory key/value data grid and cache

Distributed as library and server

Highly available

Elastic

Manageable

Open Source

Page 10: Infinispan @ Red Hat Forum 2013

Architecture: Standalone Lib

JCP 107 Style Cache– Just cache with advantages: expiry, j2ee transaction

Library Mode - standalone

Infinispan

JVM

App

Page 11: Infinispan @ Red Hat Forum 2013

Architecture: Clustered Lib

Use as library– More feature

– Richer APIs

– Programmatic/declarative configu-ration

– Extendable/embed-dable

– Faster (API call)

– App doesn’t know it’s on cluster

Library Mode

Cluster

Infinispan

JVM

App

Infinispan

JVM

App

Infinispan

JVM

App

Page 12: Infinispan @ Red Hat Forum 2013

Architecture: Server

Use as server– Remote

• Memcached, REST, Hot Rod, WebSocket

– Data tier shared by multiple apps

– App doesn’t af-fect cluster

– Non-java clients• Java, C++,.NET,

Ruby, Python

Server Mode

Cluster

Infinispan

JVM

Infinispan

JVM

Infinispan

JVM

App

App

App

Page 13: Infinispan @ Red Hat Forum 2013

Architecture: Durability

Durability– By replication

– By persistence

– By replication to other cluster (topology aware)

Durability

Cluster

Infinispan

JVM

Infinispan

JVM

Cluster

InfinispanJVM

InfinispanJVM

persis-tence

Page 14: Infinispan @ Red Hat Forum 2013

Clustering

Peer to Peer– No central master, no single point of failure, no sin-

gle bottle neck

JGroups– Reliable multicast communication library, nodes

discovery, sharing data, performing cluster scaling

Consistent Hash– Hash based data distribution

– How it finds where data locates

Linear in nature: throughput, capacity

Page 15: Infinispan @ Red Hat Forum 2013

Cluster Mode: Replication

Replication Mode

Cache onServer 1 K,V

Cache onServer 2 K,V

Cache onServer 4 K,V

Cache onServer 3 K,V

cache.put(K,V)

Page 16: Infinispan @ Red Hat Forum 2013

Cluster Mode: Distribution

Distribution Mode(numOwners=2)

Cache onServer 1 K,V

Cache onServer 2 K,V

Cache onServer 4

Cache onServer 3

cache.put(K,V)

cache.get(K,V)

Page 17: Infinispan @ Red Hat Forum 2013

Cluster Mode: Invalidation

Invalidation Mode

Cache onServer 1

K,V2

Cache onServer 2 K,V

Cache onServer 4

Cache onServer 3

cache.put(K,V2)

DB

Page 18: Infinispan @ Red Hat Forum 2013

Monitoring/Management

MBeans on CacheManager, Cache

RHQ (JON, JBoss Operations Network)

Page 19: Infinispan @ Red Hat Forum 2013

Red Hat ConfidentialRed Hat Confidential

InfinispanKey Features

Page 20: Infinispan @ Red Hat Forum 2013

Key Features: Persistence

Used for durability

Cache Store – persistence storage– File System, Cloud, Remote, JDBC, JPA, LevelDB,

Cassandra, HBase, MongoDB, BerkeleyDB, JDBM, REST

Write-through, write-behind

Store chain

Shared store

Page 21: Infinispan @ Red Hat Forum 2013

Key Features: Transactions

JTA Transaction Support

Support MVCC (Multi-Versioned Concurrency Con-trol)

Isolation Level– READ_COMMITTED (default)

– REPEATABLE_READ

Locking Mode– Optimistic Lock (default)

– Pessimistic Lock

Page 22: Infinispan @ Red Hat Forum 2013

Key Features: Query

JBoss Hibernate Search + Apache Lucene

Query on values

Index Directory– Lucene Directory: in-memory, file system, JDBC

– Infinispan Directory

Distributed Queries

Page 23: Infinispan @ Red Hat Forum 2013

Key Features: Map/Reduce

Based on Distributed Execution Framework

Mapper, Reducer, Collator, MapReduceTask

Page 24: Infinispan @ Red Hat Forum 2013

JDG, JBoss Data Grid

Red Hat JBoss Data Grid

Infinispan-based

JON

All the benefits of sub-scription, including Red Hat world class support and services

Page 25: Infinispan @ Red Hat Forum 2013

Red Hat ConfidentialRed Hat Confidential

Use Cases

Page 26: Infinispan @ Red Hat Forum 2013

Infinispan on JBoss AS7

Used for WAS clustering, Hibernate L2 cache

Application gets cache with JNDI name us-ing @Resource

Page 27: Infinispan @ Red Hat Forum 2013

Session Clustering

Page 28: Infinispan @ Red Hat Forum 2013

Big Data Real-time Process-ing

Infinispan Data Grid

Page 29: Infinispan @ Red Hat Forum 2013

Red Hat ConfidentialRed Hat Confidential

References

Page 30: Infinispan @ Red Hat Forum 2013

References

infinispan.org blog.infinispan.org infinispan-ko.blogspot.com facebook.com/groups/infinispan red.ht/data-grid tedwon.com/display /dev/Infinispan+Data+Grid cbcpascal.blogspot.kr

Page 31: Infinispan @ Red Hat Forum 2013