fluree / server

Fluree Server - Operates Fluree in consensus, fault-tolerant, redundant
12 stars 1 forks source link

Use new no-consensus by default #69

Closed bplatz closed 2 months ago

bplatz commented 3 months ago

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.