I'm working on a sharding problem, and I need to ensure that the servers covering the shards have the following properties:

  1. A primary and a secondary server is nominated to host each shards.
  2. The primary and secondary server for each shard should be in separate data centers.
  3. The shards should be relatively evenly distributed across each server.

I poked around and that sounds like a rules framework would be useful. I dug into Pyke but I'm having a hard time figuring out how to frame the above in the rules Pyke exposes. Am I barking up the wrong tree? Any other recommendations?

  • 1
    Not a software shopping problem, am afraid. You should be looking for an algorithm first. May 27, 2014 at 17:57

1 Answer 1


Pyke looks like the wrong tree to me, hence this alternative: Stackless Python

If you can provide (user-)generated content for new areas, you can have everything in one big shard:

Have you ever wondered why MMOs have multiple servers and limitations on the number of people that can be squeezed onto each? It's a good question, especially when you consider EVE Online's impressive single-shard (single-server) setup, where tens of thousands of concurrent players can log on in the same environment. - A look into the nuts-and-bolts of EVE Online's single-shard architecture

Stackless Python threads can be hibernated and distributed across multiple machines, if needed.

  • Please explain the downvotes. Feb 26, 2015 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.