SYSTEMS AND METHODS FOR DYNAMIC SHARDING
Systems, methods, and articles of manufacture provide for dynamic sharding, such as in an online gaming environment. The invention includes providing a shared data store including at least a table store adapted to store data representative of table state; creating a plurality of shards wherein each shard includes at least a floor manager system and a game system; presenting a plurality of tables to players via a lobby interface; and scaling a number of the plurality of shards to support a current number of players. Numerous additional aspects are disclosed.
1 . A system comprising:
a plurality of processors; and
a memory associated with each processor operative to store instructions executable on the processors, the instructions being adapted to:
provide a shared data store including at least a table store adapted to store data representative of table state;
create a plurality of shards wherein each shard includes at least a floor manager system and a game system;
present a plurality of tables to players via a lobby interface; and
scale a number of the plurality of shards to support a current number of players.
2 . The system of claim 1 wherein the instructions adapted to provide a shared data store include instructions adapted to provide a floor plan store adapted to store data representative of tables on floors and floor plan state.
3 . The system of claim 1 wherein the instructions adapted to provide a shared data store includes instructions to provide a lobby store adapted to store data representative of lobby state.
4 . The system of claim 1 wherein the instructions adapted to provide a shared data store includes instructions to provide one or more distributed databases shared among the plurality of shards.
5 . The system of claim 4 wherein the instructions adapted to provide one or more distributed databases shared among the plurality of shards includes instructions to replicate portions of the one or more distributed databases on one or more shards.
6 . The system of claim 4 further comprising instructions to host the plurality of shards at two or more different data centers wherein at least a first subset of the plurality of shards are located a first data center and a second subset of the plurality of shards are at a second datacenter.
7 . The system of claim 4 wherein the instructions adapted to scale the number of the plurality of shards includes instructions to dynamically adjust up and down the number of shards in response to demand for tables by the players.