217 lines
8.7 KiB
Text
217 lines
8.7 KiB
Text
######################################
|
||
# Akka Cluster Reference Config File #
|
||
######################################
|
||
|
||
# This is the reference config file that contains all the default settings.
|
||
# Make your edits/overrides in your application.conf.
|
||
|
||
akka {
|
||
|
||
cluster {
|
||
# Initial contact points of the cluster.
|
||
# The nodes to join at startup if auto-join = on.
|
||
# Comma separated full URIs defined by a string on the form of
|
||
# "akka://system@hostname:port"
|
||
# Leave as empty if the node should be a singleton cluster.
|
||
seed-nodes = []
|
||
|
||
# how long to wait for one of the seed nodes to reply to initial join request
|
||
seed-node-timeout = 5s
|
||
|
||
# Automatic join the seed-nodes at startup.
|
||
# If seed-nodes is empty it will join itself and become a single node cluster.
|
||
auto-join = on
|
||
|
||
# Should the 'leader' in the cluster be allowed to automatically mark
|
||
# unreachable nodes as DOWN?
|
||
# Using auto-down implies that two separate clusters will automatically be
|
||
# formed in case of network partition.
|
||
auto-down = off
|
||
|
||
# Minimum required number of members before the leader changes member status
|
||
# of 'Joining' members to 'Up'. Typically used together with
|
||
# 'Cluster.registerOnMemberUp' to defer some action, such as starting actors,
|
||
# until the cluster has reached a certain size.
|
||
min-nr-of-members = 1
|
||
|
||
# Enable or disable JMX MBeans for management of the cluster
|
||
jmx.enabled = on
|
||
|
||
# how long should the node wait before starting the periodic tasks
|
||
# maintenance tasks?
|
||
periodic-tasks-initial-delay = 1s
|
||
|
||
# how often should the node send out gossip information?
|
||
gossip-interval = 1s
|
||
|
||
# how often should the leader perform maintenance tasks?
|
||
leader-actions-interval = 1s
|
||
|
||
# how often should the node move nodes, marked as unreachable by the failure
|
||
# detector, out of the membership ring?
|
||
unreachable-nodes-reaper-interval = 1s
|
||
|
||
# How often the current internal stats should be published.
|
||
# A value of 0 s can be used to always publish the stats, when it happens.
|
||
publish-stats-interval = 10s
|
||
|
||
# The id of the dispatcher to use for cluster actors. If not specified
|
||
# default dispatcher is used.
|
||
# If specified you need to define the settings of the actual dispatcher.
|
||
use-dispatcher = ""
|
||
|
||
# Gossip to random node with newer or older state information, if any with
|
||
# this probability. Otherwise Gossip to any random live node.
|
||
# Probability value is between 0.0 and 1.0. 0.0 means never, 1.0 means always.
|
||
gossip-different-view-probability = 0.8
|
||
|
||
# Limit number of merge conflicts per second that are handled. If the limit is
|
||
# exceeded the conflicting gossip messages are dropped and will reappear later.
|
||
max-gossip-merge-rate = 5.0
|
||
|
||
failure-detector {
|
||
|
||
# FQCN of the failure detector implementation.
|
||
# It must implement akka.cluster.FailureDetector and
|
||
# have constructor with akka.actor.ActorSystem and
|
||
# akka.cluster.ClusterSettings parameters
|
||
implementation-class = "akka.cluster.AccrualFailureDetector"
|
||
|
||
# how often should the node send out heartbeats?
|
||
heartbeat-interval = 1s
|
||
|
||
# Number of member nodes that each member will send heartbeat messages to,
|
||
# i.e. each node will be monitored by this number of other nodes.
|
||
monitored-by-nr-of-members = 5
|
||
|
||
# defines the failure detector threshold
|
||
# A low threshold is prone to generate many wrong suspicions but ensures
|
||
# a quick detection in the event of a real crash. Conversely, a high
|
||
# threshold generates fewer mistakes but needs more time to detect
|
||
# actual crashes
|
||
threshold = 8.0
|
||
|
||
# Minimum standard deviation to use for the normal distribution in
|
||
# AccrualFailureDetector. Too low standard deviation might result in
|
||
# too much sensitivity for sudden, but normal, deviations in heartbeat
|
||
# inter arrival times.
|
||
min-std-deviation = 100 ms
|
||
|
||
# Number of potentially lost/delayed heartbeats that will be
|
||
# accepted before considering it to be an anomaly.
|
||
# It is a factor of heartbeat-interval.
|
||
# This margin is important to be able to survive sudden, occasional,
|
||
# pauses in heartbeat arrivals, due to for example garbage collect or
|
||
# network drop.
|
||
acceptable-heartbeat-pause = 3s
|
||
|
||
# Number of samples to use for calculation of mean and standard deviation of
|
||
# inter-arrival times.
|
||
max-sample-size = 1000
|
||
|
||
# When a node stops sending heartbeats to another node it will end that
|
||
# with this number of EndHeartbeat messages, which will remove the
|
||
# monitoring from the failure detector.
|
||
nr-of-end-heartbeats = 8
|
||
|
||
# When no expected heartbeat message has been received an explicit
|
||
# heartbeat request is sent to the node that should emit heartbeats.
|
||
heartbeat-request {
|
||
# Grace period until an explicit heartbeat request is sent
|
||
grace-period = 10 s
|
||
|
||
# After the heartbeat request has been sent the first failure detection
|
||
# will start after this period, even though no heartbeat mesage has
|
||
# been received.
|
||
expected-response-after = 3 s
|
||
|
||
# Cleanup of obsolete heartbeat requests
|
||
time-to-live = 60 s
|
||
}
|
||
}
|
||
|
||
metrics {
|
||
# Enable or disable metrics collector for load-balancing nodes.
|
||
enabled = on
|
||
|
||
# FQCN of the metrics collector implementation.
|
||
# It must implement akka.cluster.cluster.MetricsCollector and
|
||
# have constructor with akka.actor.ActorSystem parameter.
|
||
# The default SigarMetricsCollector uses JMX and Hyperic SIGAR, if SIGAR
|
||
# is on the classpath, otherwise only JMX.
|
||
collector-class = "akka.cluster.SigarMetricsCollector"
|
||
|
||
# How often metrics are sampled on a node.
|
||
# Shorter interval will collect the metrics more often.
|
||
collect-interval = 3s
|
||
|
||
# How often a node publishes metrics information.
|
||
gossip-interval = 3s
|
||
|
||
# How quickly the exponential weighting of past data is decayed compared to
|
||
# new data. Set lower to increase the bias toward newer values.
|
||
# The relevance of each data sample is halved for every passing half-life duration,
|
||
# i.e. after 4 times the half-life, a data sample’s relevance is reduced to 6% of
|
||
# its original relevance. The initial relevance of a data sample is given by
|
||
# 1 – 0.5 ^ (collect-interval / half-life).
|
||
# See http://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average
|
||
moving-average-half-life = 12s
|
||
}
|
||
|
||
# If the tick-duration of the default scheduler is longer than the
|
||
# tick-duration configured here a dedicated scheduler will be used for
|
||
# periodic tasks of the cluster, otherwise the default scheduler is used.
|
||
# See akka.scheduler settings for more details about the HashedWheelTimer.
|
||
scheduler {
|
||
tick-duration = 33ms
|
||
ticks-per-wheel = 512
|
||
}
|
||
|
||
# Netty blocks when sending to broken connections, and this circuit breaker
|
||
# is used to reduce connect attempts to broken connections.
|
||
send-circuit-breaker {
|
||
max-failures = 3
|
||
call-timeout = 2 s
|
||
reset-timeout = 30 s
|
||
}
|
||
}
|
||
|
||
# Default configuration for routers
|
||
actor.deployment.default {
|
||
# MetricsSelector to use
|
||
# - available: "mix", "heap", "cpu", "load"
|
||
# - or: Fully qualified class name of the MetricsSelector class.
|
||
# The class must extend akka.cluster.routing.MetricsSelector
|
||
# and have a constructor with com.typesafe.config.Config
|
||
# parameter.
|
||
# - default is "mix"
|
||
metrics-selector = mix
|
||
}
|
||
actor.deployment.default.cluster {
|
||
# enable cluster aware router that deploys to nodes in the cluster
|
||
enabled = off
|
||
|
||
# Maximum number of routees that will be deployed on each cluster
|
||
# member node.
|
||
# Note that nr-of-instances defines total number of routees, but
|
||
# number of routees per node will not be exceeded, i.e. if you
|
||
# define nr-of-instances = 50 and max-nr-of-instances-per-node = 2
|
||
# it will deploy 2 routees per new member in the cluster, up to
|
||
# 25 members.
|
||
max-nr-of-instances-per-node = 1
|
||
|
||
# Defines if routees are allowed to be located on the same node as
|
||
# the head router actor, or only on remote nodes.
|
||
# Useful for master-worker scenario where all routees are remote.
|
||
allow-local-routees = on
|
||
|
||
# Actor path of the routees to lookup with actorFor on the member
|
||
# nodes in the cluster. E.g. "/user/myservice". If this isn't defined
|
||
# the routees will be deployed instead of looked up.
|
||
# max-nr-of-instances-per-node should not be configured (default value is 1)
|
||
# when routees-path is defined.
|
||
routees-path = ""
|
||
|
||
}
|
||
|
||
}
|