This creates a new consensus type of :none and updates the default config to use this new type.
Currently raft consensus is run by default even in single-server configurations.
Using no consensus doesn't change much - instead of using raft and multiple communication points for ordering/persisting data redundantly, :none consensus uses a simple async chan loop.
Right now it implements all transactions for all local ledgers in a single queue. One obvious improvement would be to spawn separate queues for each ledger as they can be worked on in parallel without issue.
There is definitely some refactoring/improvements that can be made in organizing and reusing consensus code. This does a few things in that direction, but the focus here was a new feature - not a refactor.
This creates a new consensus type of
:none
and updates the default config to use this new type.Currently raft consensus is run by default even in single-server configurations.
Using no consensus doesn't change much - instead of using raft and multiple communication points for ordering/persisting data redundantly,
:none
consensus uses a simple async chan loop.Right now it implements all transactions for all local ledgers in a single queue. One obvious improvement would be to spawn separate queues for each ledger as they can be worked on in parallel without issue.
There is definitely some refactoring/improvements that can be made in organizing and reusing consensus code. This does a few things in that direction, but the focus here was a new feature - not a refactor.