Word Wide Cache Distributed Caching for the Distributed Enterprise.
-
Upload
deirdre-paul -
Category
Documents
-
view
232 -
download
1
Transcript of Word Wide Cache Distributed Caching for the Distributed Enterprise.
Agenda
Introduction to distributed caching Scenario for using caching Caching for the Virtual Organization
The market need
“The major initiatives are building up our low-latency infrastructure, moving toward a service-oriented architecture (SOA) and leveraging grid computing”.
Sharon Reed (CTO for global markets trading technology Merrill Lynch)
What is Distributed Caching
An in-memory data store that can be shared between distributed applications in a real-time fashion.
Background Memory capacity increased dramatically in recent years. The NetEffect open the opportunity to create a virtual memory
Grid. Many applications are seeking for ways to utilize the available
memory resources for performance boosting.
The Need: Managing a memory resource in a reliable, transactional
manner is extremely complex. Applications are seeking for a generic infrastructure for
utilizing memory resource to reduce data access overhead in a distributed environment.
What’s New
Why using Distributed Caching
Scalability Reduce centralized data bottleneck Enable scaling of
Performance Reduce I/O overhead – bringing data closer to the application
using it. Provide in-memory speed.
Reliability Use the cache as a reliable data store.
Real Time content distribution Used for integration and synchronization purposes
Before: Reliability – Centralized DB
Session info
User
ApplicationApplication
RDBMS(JDBC, JDO)ApplicationApplication
Limitations:
•Performance
•Scalability
Session infoUser
ApplicationApplication
ApplicationApplication
Benefits:
•Performance
•Scalability
After: Reliability – Dist. Caching
Before: Scalability with Centralized DB
TelephoneOperating Service
TelephoneOperating Service
Peek load of users
ApplicationApplication
ApplicationApplication
RDBMS(JDBC, JDO)
Load Balancer
Bottleneck
TelephoneOperating Service
TelephoneOperating Service
ApplicationApplication
ApplicationApplication
Peek load of users
Load Balancer
After: Scalability with Distributed Cache
Content distribution
Content based routing (No need for static queues) Passing content and functionality Dynamic Orchestration (without changing the
application)
RMIJNIJCAMDB
Distributed Caching NetworkPublisher
ContentBased
Routing
.Net, C++
Java Fat Client
J2EESubscribers
SBA – Virtual Middleware
Same data can be viewed through different interfaces!
A single runtime for maintaining scalability, redundancy across all systems
Reduces both the maintenance overhead and development complexity
Provides Grid capabilities to EXISTING applications
Virtual TableJDBC
Clustered Space
JMS
Virtual Topic/ Queue
SpaceJCache
Ap
plic
ati
on
s
Single virtualization technology for caching and messaging
Virtual Middleware
GigaSpaces EAG Caching Edition
Distributed Shared Memory (JavaSpaces)Common Clustering Architecture
Distributed Shared Memory (JavaSpaces)Common Clustering Architecture
Parallel ProcessingParallel Processing Messaging BusMessaging Bus Distributed CachingDistributed Caching
Middleware VirtualizationMiddleware Virtualization
On demand computing resources with optimization for commodity server setup
Service GridService Grid
From JavaSpaces(2001-2003)
Grid Application Server& Distributed Caching
(2005) Caching Edition
Case - Study1. Distributed Session Sharing 2. A geographically distributed trading application case study
Session Sharing between multiple Mobile applications
Simple Example: Distributed Caching
Session Sharing Fail Over Replication Load Balancing
Background –Trading Applications
Trading clients allow "traders" to monitor the market and submit trades.
Read/write ratio is extremely high Events have to be delivered in as close to
real-time as possible. Traditional approaches used mostly
messaging (IIOP, JMS, Sockets) to implement such system.
Caching for the Virtual Enterprise
London Tokyo
•Market View •Quote Management•Hit manager•Credit manager•Session Manager
•Maintain Local Cache of the market view•Maintain Session Object and profile through leasing.•Use master worker patter to execute logic on the server session.
NY
Order Book Application
ReplicatedCache with Partitioned ownership
Challenges: Bandwidth
NY London
Solution:•Batching•Compression•Async replication•Data is kept local•Update are local based on ownership
10Mbs
Replication
Challenges: Reliability
Backup
Primary Primary
Backup
NY London
Sync ReplciationWithin site
ASync Replication between sites
10Mbs
Scaling through Partitioning
NY2
NY1 London1
London 2
NY LondonLoad Balancing Partition the data
within site
ASync Replication between sites per partition
WAN
Challenges: Sync with Ex Db
NY London
DBDBDBDB
load update
Use the replication channel to perform
reliable async replication to external
data base (Sybase)
Load data to the cache from the external data
source in case it is not in the cache
load update
Challenges: Data Distribution
Backup
Primary Primary
Backup
NY London
•Event driven on trade updates •Aggregation of events from all sites•Supports unicast / Multicast•Server side filtering
10Mbs
Challenges: Distributed Query
•Provide SQL and Id based query •Partition data based on content•Distribute query based on ownership
Order Book Application
PartitionedCache
“Select xx from”..
Challenges: Security
•SSO – (Single Sign On)•Provides authentication and authorization•Authorization can be based on content and operation•Replication filters enable filtering of data between sites based on content.•Designed with minimal performance in mind
Order Book Application
PartitionedCache