I'm looking to build a distributed cluster of processes (a mesh or p2p network of processes - similar to how ElasticSearch handles nodes) that share data and state amongst themselves. I'll be doing this in Python. What's a good starting point to refer to for this. Each process in the cluster will be listening for requests and processing them and moving on to the next request. By spawning new processes it will scale horizontally. It will load a large data set to memory that it requires to handle these requests. I'd like the cluster to coordinate amongst itself how to distribute the data, how to shard it, how many replicas to keep, how frequently to rebalance to distribute the load when new workers join etc.
Is there an library/framework that would provide these features out of the box? Or will I have to build it myself? I'm reading through the Twisted documentation to see if it helps. Any ideas on how to go about this would be very helpful. Thank you.
Aucun commentaire:
Enregistrer un commentaire