Fra enkel J2SE til Grid computing med GigaSpaces XAP
Transcript of Fra enkel J2SE til Grid computing med GigaSpaces XAP
•
•
NEO
DB DB DB
•
NEO
DB DB
In
memory
data grid
•
•
•
•
•
•
•
Node 1 Node 2 Node 3
In memory data grid aka «Space’et»
•
•
•
•
•
•
DB
XAP PREMIUM –END-TO-END SCALING
End-to-end-scalable execution environment with elastic deployment to meet extreme throughput requirements
Any environment, anytime, anywhere – traditional data center, public/private cloud, or hybrid
Any platform Any language Any framework Any API
Optimize IT resource utilization
Production-grade control and visibility
16 ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
IMDG BASIC OPERATIONS
Application
Space
Take
Application
Space
Read
Application
Space
WriteMultipleApplication
Space
Write
Application
Space
ReadMultiple
Application
Space
TakeMultiple
Application
Space
ExecuteApplication
Space
Notify
http://www.gigaspaces.com/docs/JavaDoc8.0/org/openspaces/core/GigaSpace.html
17
Back to key scenarios
Feeder
DATA PARTITIONING PRINCIPLES
Virtual Machine Virtual MachineVirtual Machine
Virtual MachineVirtual Machine Virtual MachineVirtual Machine
Replication
Primary 1Backup 1
Replication
Backup 2Primary 2
Partitioned Data with Backup Per Partition
Feeder
18
Partitioned Data
Back to key scenarios
DATA SCALING ARCHITECTURES
System of Records (SoR) with Write Behind
19
System of Records (SoR) with Local Caching
Back to key scenarios
DATA CACHING ARCHITECTURES
Side Cache with Local Caching
20
Side Cache
Back to key scenarios
EASY INTEGRATION
DATA
Native:
Highly optimized, POJO driven API
which exposes all the unique
capabilities of the platform
JPA:
Support data grid access using the
standard JPA API for seamlessly
scaling your JEE data access layer
Key-Value:
Simple and intuitive Map-based
interface for simple caching
scenarios
Document:
Completely schema-free data API
that supports upgrading the
application’s data model on the fly
.Net:
Native C# interface that enables any
.NET application to access the data
grid
C++:
Native C++ interface that allows any
.NET application to access the data
grid
Cross Language Access:
Java, C# and C++ API support for
heterogeneous environments, with
seamless interoperability among them
all
Back to scenarios
PROCESSING
Processing
Master-Worker Support:
Intuitive and highly scalable master-
worker implementation for
distributing computation-intensive
tasks
Distributed Code Execution:
Dynamic code shipment and
map/reduce- like execution across the
grid for optimized processing and data
access
Back to scenarios
PROCESSING
Processing
Master-Worker Support:
Intuitive and highly scalable master-
worker implementation for
distributing computation-intensive
tasks
Distributed Code Execution:
Dynamic code shipment and
map/reduce- like execution across the
grid for optimized processing and data
access
public interface SimpleService {
String say(String message);
Future<String> asyncSay(String message);
}
Master-Worker Support:
Intuitive and highly scalable master-
worker implementation for
distributing computation-intensive
tasks
Distributed Code Execution:
Dynamic code shipment and
map/reduce- like execution across the
grid for optimized processing and data
access
PROCESSING
Processing
public class MyTask implements Task<Integer> { private int value; public MyTask(int value) { this.value = value; } public Integer execute() throws Exception { return value; } }
•
•
•
DB
DB
•
•
•
•
•
•
•
•
•
•
DB
•
•
•
•
DB
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•