14
©2016 Couchbase Inc. Ensuring High Availability and Disaster Recovery

Ensuring high availability and disaster recovery – Couchbase Connect 2016

Embed Size (px)

Citation preview

FileNewTemplate

Ensuring High Availability and Disaster Recovery

2016 Couchbase Inc.

1

About MeDavid OstrovskySenior Solutions [email protected]@DavidOstrovsky

2016 Couchbase Inc.

2016 Couchbase Inc.

2

Part I - High Availability

2016 Couchbase Inc.Part I - High Availability Single node architectureLocal data redundancyRebalance and failoverNode recovery

Part II - Disaster RecoveryBusiness continuity for mission-critical applications Geo redundancy Backup-Restore for worst case scenario

3

Couchbase Server Single Node Architecture

Heartbeat

Process monitor

Global singleton supervisorConfiguration manageron each node

Rebalance orchestrator

Node health monitor

one per clusavBucket state and replication manager

http

REST management API/Web UIHTTP8091Erlang port mapper4369Distributed Erlang21100 - 21199

Erlang/OTP

storage interface

Couchbase EP Engine11210Memcapable 2.0

Moxi11211Memcapable 1.0MemcachedPersistence Layer8092Query API

Query Engine

Data Manager

Cluster ManagerSingle Node type is the foundation for high availability architecture

No Single Point of Failure (SPOF)

Easy scalability

2016 Couchbase Inc.

2016 Couchbase Inc.Single Node type is the foundation for high availability architecture

No Single Point of Failure (SPOF)

Easy scalability

4

Cluster Architecture

2016 Couchbase Inc.

2016 Couchbase Inc.Single Node type is the foundation for high availability architectureNo Single Point of Failure (SPOF)Easy scalability Up to 4 copies of the data in the cluster

5

Write Operation332

Managed CacheDisk Queue

Disk

Replication Queue

App ServerMemory-to-Memory Replication to other node

Doc

Doc

Doc

2016 Couchbase Inc.

2016 Couchbase Inc.Database Change Protocol (DCP)

2016 Couchbase Inc.

2016 Couchbase Inc.High-Performance, Stream-based ProtocolBetter Resume-ability after blips and failurePowers Intra Cluster ReplicationPowers Cross Datacenter ReplicationPowers Incremental Backup & RestoreExternal API, lets you extend Couchbase functionality7

Cluster Operation

Server 4

Server 5ReplicaActiveReplicaActive

App Server 1

COUCHBASE Client Library

Cluster Map

COUCHBASE Client Library

Cluster MapApp Server 2

ActiveServer 1

Shard 5

Shard 2

Shard 9

Shard

Shard

ShardReplica

Shard 4

Shard 1

Shard 8

Shard

Shard

Shard

ActiveServer 2

Shard 4

Shard 7

Shard 8

Shard

Shard

ShardReplica

Shard 6

Shard 3

Shard 2

Shard

Shard

Shard

ActiveServer 3

Shard 1

Shard 3

Shard 6

Shard

Shard

ShardReplica

Shard 7

Shard 9

Shard 5

Shard

Shard

ShardApp servers accessing ShardsRequests to Server 3 failCluster detects server failedPromotes replicas of Shards to activeUpdates cluster mapRequests for docs now go to appropriate serverTypically rebalance would follow

Shard 1

Shard 3

Shard

2016 Couchbase Inc.

2016 Couchbase Inc.Explain about partitioning (vBuckets)Explain about rebalanceExplain what failover isDemo failover

8

Rack 2Rack-Zone Awareness

Rack 1 3 1

2

6 4

5

2016 Couchbase Inc.

2016 Couchbase Inc.Demo rack awareness in Couchbase web UI9

Part II Disaster Recovery

2016 Couchbase Inc.

2016 Couchbase Inc.Cross Datacenter Replication (XDCR)

Unidirectional ReplicationBidirectional Replication

2016 Couchbase Inc.

2016 Couchbase Inc.Replicates continuously data FROM source cluster to remote clusters may be spread across geosSupports unidirectional and bidirectional operationApplication can read and write from both clusters (active active replication)Automatically handles node addition and removalReplication throughput scales out linearlySimplified Administration via console, REST, and CLI

12

Cross Datacenter Replication (XDCR)332

Managed CacheDisk Queue

Disk

Replication Queue

App ServerMemory-to-Memory Replication to other node

Doc

Doc

Doc XDCR QueueMemory-to-Memory Replication to remote cluster

Doc

2016 Couchbase Inc.

2016 Couchbase Inc.XDCR for geo load balancingXDCR for disaster recoveryDemo XDCR cluster level failover

13

Backup & Restore

2016 Couchbase Inc.cbbackup tools provides backup for a running clusterEntire Cluster across all bucket Single Node across all bucketsSingle Node single bucketSupports remote or local access

(New in 3.0) Incremental Backups Differential Or Cumulative Back up data that only changed since the last backup. Minimize resource and time consumption during backups. Enables more frequent backups

Restore cluster to point in time differential or cumulative backup data

14

Q & ADavid [email protected]@DavidOstrovsky

2016 Couchbase Inc.

15