How is the raft consensus algorithm different from MongoDB's primary election process other than the fact that MongoDB takes other factors (priority, for example) into consideration while electing the primary?
Raft Vs MongoDB Primary Election
6.3k Views Asked by Chandra Sekar At
1
There are 1 best solutions below
Related Questions in MONGODB
- Meteor MapReduce Package Error: A method named is already defined
- Token based authorization in nodejs/ExpressJs and Angular(Single Page Application)
- Big data with spatial queries/indexing
- How to recover from losing all your /data/db
- What are the benefits of using the fields option when querying in Meteor
- Node JS Async Response
- mongoose get property from nested schema after `group`
- What to use for subdocuments ID's in MongoDB?
- ORM Code First versa Database First in Production
- How to profile a Yii2 based API?
- get length of embedded document in mongoDB with jade
- Architecture: Multiple Mongo databases+connections vs multiple collections with Express
- Why are numbers being inserted into MongoDB incorrectly?
- hibernate ogm mongo db, how to get count of collection?
- C++ Mongodb driver, not working
Related Questions in CONSENSUS
- How is service discovery not a subset of centralized configuration?
- vcf-consensus script error: The sequence N not found in the fasta file
- Any terrible thing will happen if change Chaincode state in invokeChaincode?
- How does raft handle committing entries from previous one?
- Bitcoin and Ethereum inter-block time difference
- How a distributed storage system like Raft filter duplicate requests even after client session expiration
- Recommend algorithm of fair distributed resources allocation consensus
- Raft Vs MongoDB Primary Election
- consensus score and WSP score in python
- Consensus number of FIFO queue
- Where can I configure iot_consensus_throttle_threshold_in_byte in IoTConsensus of Apache IoTDB?
- Doesn't Paxos end up with the same instructions in the exact same order?
- How do developers manage to update new source code on blockchain due to the difficulty of distributed and decentralized consensus process
- Minimum number of nodes to achieve Byzantine Fault Tolerance
- Simple Consensus with Timeouts
Related Questions in RAFT
- how do i do an atomic update with etcd
- How do I practically use Raft algorithm
- Consul.IO - Why does Consul Cluster need at least a quorum of server nodes to be active
- How does raft handle committing entries from previous one?
- How a distributed storage system like Raft filter duplicate requests even after client session expiration
- Java server connect to other server using sockets
- Configuring multiple Consortium in Hyperledger Fabric 1.4
- Raft Vs MongoDB Primary Election
- What's the benefit of advanced master election algorithms over bully algorithm?
- Why current term in raft consensus algorithm must be monotonic
- Leader Election and AppendEntries rejection
- Lecture 6: Fault Tolerance: Raft (1) MIT 6.824: Distributed Systems
- Raft heartbeat timeout confusion
- How can leader get elected without entries stored in majority servers?
- Why three node etcd cluster can have low write latency?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Some key differences on the consensus approach as at MongoDB 2.4 are:
Raft uses a strong leader model. The leader has responsibility for managing replication and data flows from the leader to other servers. In MongoDB replica sets the secondaries follow the operation log (oplog) of an upstream host which can either be the primary or a secondary with a newer oplog.
Raft only has three node states to consider: leader (primary), follower (secondary), or candidate (nominated primary). MongoDB has additional node states to consider including more potential error states such as
RECOVERINGorSHUNNEDnodes, or delayed replica set members.In Raft each node can only vote for a candidate node once per election term. MongoDB allows votes per node to be adjusted as part of the replica set configuration, so some nodes may be non-voting or possibly have multiple votes (Note: multiple vote configuration has been deprecated as of the MongoDB 2.5 development branch).
Raft uses a joint consensus approach which allows a cluster to continue operating during configuration changes. MongoDB requires a strict majority of voting nodes to elect a new primary; while an election is in progress the replica set has no primary and cannot accept writes.
For more detailed information you should compare the Raft paper In Search of an Understandable Consensus Algorithm with the documentation on MongoDB Replica Set Elections.