+ All Categories
Home > Documents > IMDGs An essential part of your architecture. About me [email protected].

IMDGs An essential part of your architecture. About me [email protected].

Date post: 31-Dec-2015
Category:
Upload: brian-heath
View: 214 times
Download: 1 times
Share this document with a friend
Popular Tags:
21
IMDGs An essential part of your architecture
Transcript
Page 1: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

IMDGsAn essential part of your architecture

Page 3: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

What is IMDG?

In short: it’s performance and scalability enabling solution

Page 4: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Cyber Monday

Page 5: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Solution

Client App

write

No SQL

node #1

node #2

node #3

node #4

node #5

read throughCache

• Low latency

NoSQL

• Scalability

• Fault tolerance

• Data management

NOT CONSISTENT

Page 6: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Grid SolutionGrid

• Low latency

• Fault tolerance

• Data management

• Elasticity

• ACID transactions

Client App

write

node #1

node #5

node #2

node #4

node #3

node #1

node #2

node #3

node #4

node #5

read

writebehindpre-load

Page 7: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Cache

• Key-value storage which works with domain objects, may support a document API• Eviction and invalidation policies• Read and write strategies: read through, write through, read-ahead,

write behind, Change Data Capture• Local cache and Local view• Date pre-load, recovery from disk during cold start and after

simultaneous node failure

Page 8: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Data

• Query language, indexes• parallel query and "map/reduce"

Page 9: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Clients & API

• API and client library for different programming languages• Transparent proxy, grid• Pluggable connectors for databases• JDBC, JMS, Memcached connectivity

Page 10: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Infrastructure

• Easy clustering, zero time deployment• Monitoring, management and Self healing• Configurable topology with Sync/Async Backups• SLA based elastic deployments• Security for connecting a node to space and client to space

Page 11: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Tool for In-Memory

Page 12: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

SOA is not scalable

Page 13: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Processing

• Task Execution, Processing Grid and (Massive) Parallel Executions• Remote Services, Collocated Execution• Complex Event Processing• Pooling Container• Notify Container

Page 14: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Case Study

Page 15: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

16

Authorization ServerThree steps:

• Validate digital signature using stored Access Token

• Validate message nonce uniqueness for the last 15 minutes

• Validate URL access by checking of all ACLs configured for the client

Client Web Application Authorization Service

GET (resource, auth_header)

AuthorizeAcess (resource, auth_header)

Validate ACL

Is Nonce Unique for the Client

auth_header:

· token_id· signature· nonce

Authentication Status: 200/401/403

Space

getToken(token_id)

getAccssControlList(client_id)

Loop ~ 25 times

Validate Signature

getNonce(nonce)

writeNonce(nonce)

Authentication Status: 200/401/403

Page 16: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Challanges

• 50 ms SLA• Strong Consistency• Protect any requests to any service• Durable

Page 17: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

18

Architecture with CacheMemcachedApplication Farm

1..n 1..n

MongoDB Shard

1..n

Page 18: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

19

Architecture with GridAll elements of the architecture are fully provided by GigaSpaces XAP platform

My SQL

Backup SpacePrimary Space

Service

Apache LB Backup SpacePrimary Space

Service

Backup SpacePrimary Space

Service

Elastic Web Elastic Space with Back-up Async Persistance

Web PU

Local Cache

Web PU

Local Cache

Web PU

Local Cache

Mirror

Page 19: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

20

Performance

Architecture App Servers, nodes

Spaces / Memcached

, nodesUsers Throughput,

rq/sAverage,

msMedian

, ms90% Line,

ms

1 Node (Users ratio 3.75, Throughput ratio 3.57)

Grid 1 1 45 579.93 41 41 47

Cache 1 0 12 162.70 34 30 45

6 Nodes (Users ratio 1.81, Throughput ratio 2.32)

Grid 6 6 136 2,406.97 32 24 53Cache 4 2 75 1,037.15 36 31 54

Page 20: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

21

Scalability

2 3 4 5 60

500

1000

1500

2000

2500

987

1720

2047

163

545665 695

1037

Grid Cache

Page 21: IMDGs An essential part of your architecture. About me romnan_shramkov@epam.com.

Areas• Low latency applications• Big Data 3 V (Verity, Volume, Velocity)• Real time big data analysis (Fast Data)• Stream processing• Complex Event Processing


Recommended