tarantool / vshard

The new generation of sharding based on virtual buckets
Other
100 stars 31 forks source link

Introduce real master-master #165

Open Gerold103 opened 5 years ago

Gerold103 commented 5 years ago

Master-master in vshard now has some problems:

  1. It is impossible to set multiple masters in config.
  2. A bucket, referenced on write on a non-configured master is not referenced on a real master. So rebalancing still can start.
  3. Router is not aware of multiple masters existence.

Solutions (possible):

  1. Just allow it. And store internally everywhere not a single master, but a list of masters.
  2. A master going to send buckets should block them on all other replicaset masters before sending.
  3. Store a list of masters and allow to send read-write requests to any.

Also a new high-potential feature can be added after this feature is done: allow to send buckets from multiple masters of the same replicaset. It will speed rebalancing up to average replicaset size. In join with parallel sending https://github.com/tarantool/vshard/issues/161 the rebalancing speed will be incredible even with Vinyl.

Gerold103 commented 5 years ago

Blocked by #173