ck.akka-coordinator-avoidance-shard-allocation-strategy_2.13.1.0.0.source-code.reference.conf Maven / Gradle / Ivy
# Coordinator Avoidance Shard Allocation Strategy
#
# Excludes k-oldest nodes from the shard allocation target as possible.
# The oldest node might host the Shard Coordinator.
#
# It is recommended that
# the number of nodes in the cluster
# >= (`oldest-nodes-excluded-from-allocation` + `allocation-nodes-min-cap`)
#
lerna.akka.cluster.sharding.coordinator-avoidance-shard-allocation-strategy {
# The number of oldest nodes this strategy excludes from the shard allocation.
# * If we set this setting to zero,
# this strategy will behave almost the same as `LeastShardAllocationStrategy`.
# * If we set this setting to one,
# this strategy will avoid allocating shards to the oldest node.
# * If we set this setting to two,
# this strategy will avoid allocating shards to the first-oldest node and the second-oldest node.
#
# Type: Int, Range: >= 0
oldest-nodes-excluded-from-allocation = 1
# The minimum number of nodes this strategy allocates shards.
# If we want to guarantee at least `k`-nodes to allocate shards, set this setting to `k`.
#
# This setting has precedence over `oldest-nodes-excluded-from-allocation`.
# For example, if we have a 3-node cluster and set this setting two,
# this strategy will allocate shards to at least two nodes
# even if we set `oldest-nodes-excluded-from-allocation` to two or above.
#
# Since this strategy should allocate shards to at least one node,
# this setting must be greater than or equal to one.
#
# Type: Int, Range: >= 1
allocation-nodes-min-cap = 1
# The number of shards to be rebalanced at a time.
# If we set this setting to zero, that means there is no limits.
#
# If we set both `rebalance-absolute-limit` and `rebalance-relative-limit`,
# the actual limit will be a minimum of both limits.
#
# Type: Int, Range: >= 0
rebalance-absolute-limit = 0
# The relative number of shards to be rebalanced at a time.
# The absolute value is calculated from the number of shards we already host.
# If we set this setting to 1.0, that rougly means there is no limits.
#
# If we set both `rebalance-absolute-limit` and `rebalance-relative-limit`,
# the actual limit will be a minimum of both limits.
#
# Type: Double, Range: 0.0 ~ 1.0
rebalance-relative-limit = 0.1
}