cojen / TuplDB

TuplDB is a high-performance, concurrent, transactional, scalable, low-level embedded database.
GNU Affero General Public License v3.0
110 stars 22 forks source link

Support voter membership role #111

Closed broneill closed 5 years ago

broneill commented 5 years ago

A pure "voter" only provides consensus. It doesn't receive any data, and so it doesn't need any local storage. A voter provides a low-cost way of improving availability, because it can be deployed on cheaper hardware.

New message types must be defined which correspond to the "data" messages. These new messages are labeled "void" messages, and look like data messages, but without any data. The voter tracks in-memory state only, using special implementations of TermLog and StateLog.