com.devsisters.shardcake

Type members

Classlikes

object GraphQLApi extends GenericSchema[ShardManager]
case class ManagerConfig(numberOfShards: Int, apiPort: Int, rebalanceInterval: Duration, rebalanceRetryInterval: Duration, pingTimeout: Duration, persistRetryInterval: Duration, persistRetryCount: Int, rebalanceRate: Double)

Shard Manager configuration

Shard Manager configuration

Value parameters:
apiPort

port to expose the GraphQL API

numberOfShards

number of shards (see documentation on how to choose this), should be same on all nodes

persistRetryCount

max retry count for persistence of pods and shard assignments

persistRetryInterval

retry interval for persistence of pods and shard assignments

pingTimeout

time to wait for a pod to respond to a ping request

rebalanceInterval

interval for regular rebalancing of shards

rebalanceRate

max ratio of shards to rebalance at once

rebalanceRetryInterval

retry interval for rebalancing when some shards failed to be rebalanced

Companion:
object
Companion:
class
object Server
class ShardManager(stateRef: Synchronized[ShardManagerState], rebalanceSemaphore: Semaphore, eventsHub: Hub[ShardingEvent], healthApi: PodsHealth, podApi: Pods, stateRepository: Storage, config: ManagerConfig)

A component in charge of assigning and unassigning shards to/from pods

A component in charge of assigning and unassigning shards to/from pods

Companion:
object
Companion:
class