Comments (1)
MemoryBasedStateMachine
abstract class is for building in-memory current view of the data, but Write-Ahead Log is still persistent. It means that the in-memory state can be recovered from the persisted log entries.
DiskBasedStateMachine
is for building complex DB engines such as SQL or document-oriented databases. The difference is fully explained here.
For security reasons, you can use MemoryBasedStateMachine
and encrypt log entries stored on the disk. However, it can be done by Linux infrastructure (partition with enabled fs-level encryption) rather than by code. The same true if you want to place a whole WAL to the memory. Just mount ram-fs on your Linux machine and specify a path to that mount point as a storage for WAL. Everything will be in the memory in that case.
However, I strongly discourage from doing that. Persistence is a major characteristics of Raft. Let's imagine you have 7 nodes. Due to failure, 4 of them are down. Due to lack of persistence, they lost any state. On restart, they have a conflict with other 3 nodes because their WALs not empty. The cluster will not be able to reach the majority without human intrusion.
from dotnext.
Related Issues (20)
- Quorum node for a 2-node cluster
- Using Optional<T> with data validation attributes HOT 5
- `AsyncBarrier.AddParticipant()` does not work
- Cluster node status HOT 1
- DotNext vs Community toolkit
- How to use Optional<string> as query parameter? HOT 5
- Support for non-LTS .NET releases HOT 1
- Various trimming warnings in DotNext.Metaprogramming HOT 15
- Potential addition of an `OrderedDictionary<TKey, TValue>` type HOT 6
- raft leader loses leadership and the node gets stuck HOT 19
- Metaprogramming: Try-catch not catching exception HOT 2
- ask for set up workaround to make AOT works HOT 4
- Directly reference algorithm used in int sqrt HOT 3
- Not seeing expected improvement in throughput of RaftCluster.ReplicateAsync method when cluster minority is inaccessible HOT 20
- Seemingly random NullReferenceException in async state machine HOT 13
- Cache bound by weighted count HOT 1
- AsyncReaderWriterLock overload parity between Enter and Acquire HOT 1
- Add `IDisposable`-returning extension method for upgrading read lock to write lock HOT 7
- DotNext.Net.Cluster crash in production since I think version 5.4.0 HOT 18
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dotnext.