Top Banner
Replication between datacenters with Red Hat JBoss Data Grid Tristan Tarrant Principal Software Engineer, Red Hat Divya Mehra Principal Product Manager, Red Hat
32

Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Mar 17, 2018

Download

Documents

duongcong
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: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Replication between datacenters with Red Hat JBoss Data Grid

Tristan TarrantPrincipal Software Engineer, Red HatDivya MehraPrincipal Product Manager, Red Hat

Page 2: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Agenda

• Introduction to Red Hat JBoss Data Grid (JDG) - Divya

• Replication between datacenters - Tristan

• JDG Roadmap - Divya

• Q&A

Page 3: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Agenda

•Divya Mehra

•Product manager, Red Hat JBoss Data Grid

•Tristan Tarrant

•Lead Productization Engineer, Red Hat JBoss Data Grid

•@tristantarrant / @infinispan

•http://infinispan.blogspot.com

Page 4: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Red Hat JBoss Middleware Portfolio

User InteractionJBoss Portal Platform

Business Process Management

JBoss BRMSJBoss BPM Suite

Application IntegrationJBoss Fuse Service Works

JBoss Fuse

Application PlatformsJBoss Enterprise Application Platform, JBoss Enterprise Web Server

JBoss A-MQ JBoss Data GridJBoss Data

Virtualization

DevelopmentTools

JBoss Developer Studio

Web Framework Kit

Management Tools

JBoss Operations Network

Red Hat Enterprise Linux, Unix, Windows

Amazon EC2 Other Red Hat Virtualization

VMWare MicrosoftHyper-V

DESIGN / DEVELOPRUN & EXECUTEDESIGN & DEVELOP

Page 5: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Red Hat JBoss Data Grid - Overview

•Distributed in-memory data grid

•High performance

•Access and process data at in-memory speeds

•Highly scalable

•Data grid scales independent from the applications and database

•High availability

•Within and across datacenters

•Compatibility - Java and non-Java

Page 6: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Red Hat JBoss Data Grid – Key Features

•Embedded or Client-server deployment

•Hot Rod, memcached, REST protocols

•Consistent hashing and topology awareness

•Distribution/Replication of data

•High performance persistence

•Eviction and Expiration

•Querying: Search data using values instead of keys

Page 7: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Red Hat JBoss Data Grid – Key Features

•Distributed transactions

•Event-driven computations

•Distributed executors and map/reduce

•Rolling upgrades

•Monitoring and Management

Page 8: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Red Hat JBoss Data Grid – Use Cases

•As a distributed cache on top of or alongside a database

• Improve response time in workflows

•As a primary data store

•Recent, most relevant, or often-changing data• Where in-memory processing provides advantage

• Older or less relevant data optionally archived to a persistent store

•Unstructured data JDG public reference

customers

Page 9: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Data Center Replication

Page 10: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Data-Center Replication

•What is it ?

•What problems does it solve ?

•How is it done ?

•Setup and configuration

•Demo

Page 11: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

A peek at JBoss Data Grid's Architecture

Page 12: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

JBoss Data Grid Architecture

NODE A NODE B NODE C

TRANSPORT

NODE ...

JGroups

Node DiscoveryCluster membership (Views)

Fragmentation handlingFlow Control,

Ordering, Retransmission,

Multicast and BroadcastChoice of transport type: UDP, TCP

<stack name="udp"><transport type="UDP" socket-binding="jgroups-udp"/> ...

</stack>

Page 13: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Why implement multiple sites?

Page 14: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Site failure

•Aka Disaster Recovery

•Rare event...

•Causes: hardware failure, network failure, “Acts of God”

Page 15: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Follow the sun

•Data is closest to where clients are using it

•Only one data center active at any moment

•Replicate between active and passive data-centers

•Use smart routing to use available data-center (e.g. mod_cluster)

Page 16: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

How do we implement Cross-Site replication ?

Page 17: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Implementation: the replication bus

•An additional transport connecting sites together

•Each site has a set of master nodes in charge of talking with the other sites

•Once local modifications are committed (single op or transaction) they are sent to remote nodes

Page 18: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Cross-Site Replication Architecture

NODE A NODE B

NODE C

LOCAL EARTH TRANSPORT

NODE ...

<stack name="udp-earth"><transport type="UDP" socket-binding="jgroups-udp"/> …<relay site="EARTH">

<remote-site name="MOON" stack="tcp" cluster="global"/></relay>

</stack>

NODE A NODE B

NODE C

LOCAL MOON TRANSPORT

NODE ...

CROSS-SITETRANSPORT

<stack name="tcp"><transport type="TCP" socket-binding="jgroups-tcp"/>

...</stack>

<stack name="udp-moon"><transport type="UDP" socket-binding="jgroups-udp"/> …<relay site="MOON">

<remote-site name="EARTH" stack="tcp" cluster="global"/></relay>

</stack>

Page 19: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Features and configuration

Page 20: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Replication Modes

•Synchronous

•Blocks until ops applied locally and on backups

•Asynchronous

•Local ops return immediately, backup ops are queued

Page 21: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Transactions handling

•Transactions are propagated between sites

•One phase commit

•Transaction is sent to the backup node during the commit phase

•Commit might fail locally!

•Recovery

•Two phase commit

•when concurrent writes are needed

•slow

Page 22: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Handling Replication Failures

•What if the backup fails?

•Fail

•Warn

• Ignore

•Custom policy

Page 23: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Management

•Backup sites can be managed at runtime (JON / CLI)

•Sites can be placed online/offline

•Manually (management interface)

•Automatically (after specific failure conditions [timeout/fail count])

Page 24: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Demo

Page 25: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Demo: From the Earth to the Moon

•Two Sites: Earth and Moon

•Two Nodes per site: (Earth1, Earth2) (Moon1, Moon2)

•Two caches:

•distributed (local clustering)

•distributed (local clustering + remote replication)

Page 26: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

The Future

Page 27: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Current Limitations

• Initial state transfer

•Long waits when backup comes online

•Synchronous transactions are slow

•And asynchronous ones are unreliable

Page 28: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Cross-site state transfer

•Goal: sync new and previously offline sites

•Management operation to initiate transfer

•Runs concurrently with ops

•Pre-existing data on backup overwritten, except

•ops which happen after initiation

•entries which are local to the backup

•Non-blocking !

Page 29: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

IRAC: Making async reliable

•Problem

•Geographical transactions have high latency

• Increased fragility caused by size of geographical cluster

•Solution: Infinispan Reliable Asynchronous Clustering

•Guarantee local site reliability and consistency

•Make remote updates asynchronous

•Updater queues: send ordered transactions to remote site

Page 30: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Red Hat JBoss Data Grid - Roadmap

JDG 6

6.36.06.0

6.1 (March 2013) ● Non-Blocking State Transfer● Cross Site Replication (X-site)● Map/Reduce 2.0● Rolling Upgrades – Hot Rod

6.2 (January 2014)● Querying- Support in Library mode● Remote Querying (Tech Preview)● C++ Hot Rod Client ● Data compatibility across protocols● High performance cache stores● Rolling upgrades - REST

6.3 (Target Q2/Q3 2014*)● Security – Authentication/Authorization ● C# Hot Rod client ● Support in Apache Karaf● JBoss EAP 6 modules

6.16.1 6.46.26.2

* Future dates and features are tentative and subject to change.

6.4 (Target Q4 2014*)● Remote Querying – full support ● Remote events/listeners ● Near caching in client-server mode (over Hot Rod)● Handling network partitions● Cross Site state transfer

JDG 7

7.0

Page 31: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Related session

•Maximizing Performance with Red Hat JBoss Data Grid, Thursday, April 17, 11 am - noon

•Fillippo Crea (SIA)

•Andrea Sormanni (SIA)

•Edoardo Schepis (Red Hat)

Page 32: Summit 2014 Yellow - · PDF fileJBoss BPM Suite Application Integration JBoss Fuse Service Works JBoss Fuse Application Platforms JBoss Enterprise Application Platform, ... C# Hot

Q & A