Welcome to Diskit, the general purpose distributed kit for testing distributed systems. With diskit you can define your test in diskit files, and run them using the diskit command line tool. You can use distkit to test your assumptions and speed of your distributed system.
How to use it?
With diskit you need to:
- Dockerize your app - and include the iproute2 package.
- Create a function to expose the state of your app.
- TBD: It might be an endpoint, or a json in a determined path.
- Define a
.dkdistest file with the test.
- Optionally, define a
.gdkwith a topology definition.
- Optionally, define some json files with the expected state of each node.
These tutorials will walk you through Diskit:
- Paxos: Basic overview of a "distest". Getting to know the how to use Diskit, and have an overview on what's achivable.
- State-base CRDTs: Understand how to disrupt the network: generate duplicate packages, add delays and much more.
- Ipfs: Handle more complex network topologies by defining graphs and using groups.