[infinispan-dev] Use cases for x-datacenter replication

Erik Salter an1310 at hotmail.com
Mon Feb 13 16:16:11 EST 2012


Some clarifications:

- All data centers own a copy of the data.  
- +1 is an additional copy at the local data center, while 1 replica at each
of the other data centers.  In the other thread, Bela specified this as a
"numPrimarySiteOwners=2 and numBackupSiteOwners=1" configuration.  
- There are aspects of the custom bridge, like site-aware key affinity,
state transfer of offline data center, etc., that are simpler vs. a virtual
cluster.  But a customer may expect that configuration and management of the
data centers be managed as if it were a virtual cluster.
- My comment about a quorum has to do with the physical network being down
between data centers in a virtual cluster scenario.  In my use case, the
clients would only be able to talk to their local data centers anyway.  If I
have appropriate coverage on my local site (and any other data center I'm
connected to), I don't necessarily want to start a state transfer.  Any
deltas can be pushed to the other sites when they come back online. 

Thanks,

Erik
  
-----Original Message-----
From: infinispan-dev-bounces at lists.jboss.org
[mailto:infinispan-dev-bounces at lists.jboss.org] On Behalf Of Mircea Markus
Sent: Monday, February 13, 2012 1:47 PM
To: infinispan -Dev List
Subject: Re: [infinispan-dev] Use cases for x-datacenter replication



----- Original Message -----
> From: "Erik Salter" <an1310 at hotmail.com>
> To: "infinispan -Dev List" <infinispan-dev at lists.jboss.org>
> Sent: Monday, February 13, 2012 6:07:37 PM
> Subject: Re: [infinispan-dev] Use cases for x-datacenter replication
> 
> Hi all,
> 
> Since I'm deploying my applications into 3 data centers, I commented
> at the
> wiki site.  Since the bulk of the discussion seems to be here, I'll
> offer
> some additional thoughts.
> 
> 
> - First and foremost, I have three data centers (JGRP-1313).  All of
> my data
> centers follow a model where the data is partitioned between them
> with
> geographic failover.

how does the backup work in your use case: A backup data to B, B to C and C
to A. Or everybody is a data owner? 

> - These data centers have about 50-70 ms latency (RTT) between them.
>  That
> means I (and the customer) can live with synchronous replication for
> the
> time being, especially for the transactional scenario.  In fact, in
> one of
> my cache use cases, this is almost required.
> - In the current state transfer model, a node joining means that all
> the
> nodes from all the sites are involved in rehashing.  The rehash
> operation
> should be enhanced in this case to prefer using the local nodes as
> state
> providers.  I know that this cannot be necessarily guaranteed, as a
> loss of
> multiple nodes at a site might mean the state only exists on another
> data
> center.  But for a minimum of 10M records, I can't afford the
> existing
> limitations on state transfer.  (And it goes without saying the NBST
> is an
> absolute must)
Indeed that would be the case if we decide to go with the #1 solution
(virtual nodes) as described here:
https://community.jboss.org/wiki/CrossDatacenterReplication-Design  
Othewise the resilience to local failures should be handled through
numOwners. 

> - I will need a custom consistent hash that is data center-aware that
> can
> group keys into a local site.  All of my data is site-specific.
seems like you've decided to implement your use case based onsolution #1. If
#2 or #3 is used you don't have this custom CH problem.  

> - I mentioned a +1 model for local key ownership on the wiki,
"+1" means that main datacenter has numOwners copies and the backup
datacenter has always 1? 
 
  Taking
> that a
> step further, has there been any thought to a quorum model?  Here's
> what I'm
> concerned about.  Most of the time, a data center won't fail --
> rather
> there'll be some intermittent packet loss between the two.
the bridge between the datacenters should take care of retransmission and
fault tolerance of the bridge-ends. I don't think that packet loss is
possible.. 

  If I have
> 2
> owners on the key's local data center and 1 each on the backup sites,
> I may
> not want to rehash if I can't reach a data center.  I can understand
> if a
> prepared tx fails -- those I can retry in application code.
you  shouldn't have to. the bridge should do the retry/retransmission of the
lost packets transparently.
> 
> I'm sure I'll have more =)

Thanks again for your input Erik!
_______________________________________________
infinispan-dev mailing list
infinispan-dev at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev



More information about the infinispan-dev mailing list