If you want to implement those, look into DSLabs.Yes I realize I can just use docker.
I planned on implementing paxos/ raft / rpc / fault tolerance. I guess I can do that on the same machine itself
great, i will look into it, thanks.If you want to implement those, look into DSLabs.
It's an open source Distributed Programming simulator and model checker with various labs of increasing difficulties. The second to last lab is implementing Paxos (can also do Raft), while the last lab is a sharded KV store system (~ Google Spanner).
It's in Java and can be run on a single machine.
Unfortunately no.great, i will look into it, thanks.
Any simulator in GO that you are aware of? I am not that great at Java
Yes I realize I can just use docker.
Nice.... chatgpt has given a lot of options.Yup I remember using Jmeter many moons ago with Java product
Oh yeah - I should remember to always ask your friendly neighbourhood AI -> https://chatgpt.com/share/67cfc77a-e9b4-8003-87cd-40eea977dcc6
These are some tools I bookmarked, never used myself though.Is there any tool that can simulate flaky internet connections (slow speed, latency spikes, packet drops etc) between nodes of a distributed system? Say some tool or configuration (maybe with docker) to achieve this, to test reliability of your distributed product? Like you have this chaos-monkey kind of tool to randomly kill nodes of your DS to test it's HA/recovery capabilities.
The easiest way I know to do Distributed Systems (systems, not programming) simulation and testing is to use Kubernetes and KIND (or miniKube, whichever you prefer).I was actually trying to say you MAY NOT need to use docker, just run separate processes-as-nodes in the simulated distributed systemthen communicate via regular TCP/UDP/whatever.
Cool....The easiest way I know to do Distributed Systems (systems, not programming) simulation and testing is to use Kubernetes and KIND (or miniKube, whichever you prefer).
It simulates Kubernetes on a single machine using docker containers as nodes. Not as lightweight as maybe using processes as nodes, but an order of magnitude easier to set up and run.
Another advantage with this setup is that you can use existing K8s tooling for all sorts of tests and deployments.
A reason for me not to sell my existing pc. But I guess selling it is a practical choice. I can always simulate things.
BTW i had run this on my PC some time back - dont remember if I posted here on TE though -> https://ubuntu.com/blog/can-it-play-doom-running-an-ai-lan-party-on-a-spark-cluster-with-vizdoom