Multi Data Center Replication: Architecture

Multi Data Center Replication: Architecture

http://docs.basho.com/riakee/latest/cookbooks/Multi-Data-Center-Replication-Architecture/
Riak Enterprise Only
This documentation applies only to Riak Enterprise, Basho's commercial extension to  Riak. To talk to us about using Riak Enterprise,  let us know.

Contents

How Replication Works

When Multi-Datacenter Replication is implemented, one Riak cluster acts as aprimary cluster. The primary cluster handles replication requests from one or more secondaryclusters (generally located in datacenters in other regions or countries). If thedatacenter with the primary cluster goes down, a secondary cluster can take over as the primary cluster. In this sense, Riak's multi-datacenter capabilities are indeedmasterless.

With Multi-Datacenter Replication, there are two primary modes of operation:fullsync and realtime. In fullsync mode, a complete synchronization occurs between primary and secondary cluster(s). In realtime mode, continual, incremental synchronization occurs, i.e.replication is triggered by new updates.Fullsync is performed upon initial connection of a secondary cluster, and then periodically (every 360 minutes by default).Fullsync is also triggered if the TCP connection between primary and secondary cluster is severed and then recovered.

Both fullsync and realtime mode are described in detail below. But first, a few key concepts.

Concepts

Listener Nodes

Listeners (also called servers) areRiak nodeson the primary cluster that listen on an external IP address for replication requests. Any node in a Riak cluster can participate as a listener. Adding more nodes will increase the fault tolerance of the replication process in the event of individual node failures. If a listener node goes down, another node can take its place.

Site Nodes

Site nodes (also called clients), areRiak nodeson a secondary cluster that connect to listener nodes and send replication initiation requests. Site nodes are paired with a listener node when started.

Leadership

Only one node in each cluster will serve as the lead site (client) or listener (server) node.Riak replication uses a leadership-election protocol to determine which node in the cluster will participate in replication. If a site connects to a node in the primary cluster that is not the leader, it will be redirected to the listener node that is currently the leader.

Fullsync Replication

Riak Enterprise performs the following steps duringfullsync replication, as illustrated in the Figure below.

  1. A TCP connection is established between the primary and secondary clusters.
  2. The site node in the secondary cluster initiates fullsync replication with the primary node by sending a message to the listener node in the primary cluster.
  3. The site and listener nodes iterate through each vnode in their respective clusters and compute a hash for each key's object value. The site node on the secondary cluster sends its complete list of key/hash pairs to the listener node in the primary cluster. The listenernode then sequentially compares its key/hash pairs with the primary cluster's pairs, identifying any missing objects or updates needed on the secondary.
  4. The listener node streams the missing objects/updates to the secondary cluster.
  5. The secondary cluster replicates the updates within the cluster to achieve the new object values, completing thefullsync cycle.


MDC Fullsync

Realtime Replication

Riak Enterprise performs the following steps duringrealtime replication, as illustrated in the Figure below.

  1. The secondary cluster establishes a TCP connection to the primary.
  2. Realtime replication of a key/object is initiated when an update is sent from a client to the primary cluster.
  3. The primary cluster replicates the object locally.
  4. The listener node on the primary cluster streams an update to the secondary cluster.
  5. The site node within the secondary cluster receives and replicates the update.


MDC Realtime 

These May Also Interest You
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值