What algorithms there are for failover in a distributed system?

前端 未结 5 1117
北荒
北荒 2021-01-30 01:10

I\'m planning on making a distributed database system using a shared-nothing architecture and multiversion concurrency control. Redundancy will be achieved through asynchronous

5条回答
  •  心在旅途
    2021-01-30 01:44

    Tackling just a small part of your question: there's no way in the scenario you describe to decide (in the abstract) which node(s) have the latest secondary copy. At best, some node can poll and determine (after a bit of communication) who among the nodes that they know of / can see, and that know of / can see them, and that can't see the old master has the most current copy. But:

    • They can't find out the status of nodes they can't reach
    • They can't find out the status of nodes that can't reach them
    • They can't be sure that what they think they know about the status of a node that can see the old master when they can't is current--the master could have updated the shared neighbor after the neighbor reported status.

    On the broader issues, you may want to look at how something like memcached and the like handle the issues, and especially read through the lists to see what problems they've encountered when theory met practice.

提交回复
热议问题