783326f1851e687a3104e2acbeeb423e4dc33c3b
[controller.git] / akka / repackaged-akka-jar / src / main / resources / cluster_tools_reference.conf
1 ############################################
2 # Akka Cluster Tools Reference Config File #
3 ############################################
4
5 # This is the reference config file that contains all the default settings.
6 # Make your edits/overrides in your application.conf.
7
8 # //#pub-sub-ext-config
9 # Settings for the DistributedPubSub extension
10 akka.cluster.pub-sub {
11   # Actor name of the mediator actor, /system/distributedPubSubMediator
12   name = distributedPubSubMediator
13
14   # Start the mediator on members tagged with this role.
15   # All members are used if undefined or empty.
16   role = ""
17
18   # The routing logic to use for 'Send'
19   # Possible values: random, round-robin, broadcast
20   routing-logic = random
21
22   # How often the DistributedPubSubMediator should send out gossip information
23   gossip-interval = 1s
24
25   # Removed entries are pruned after this duration
26   removed-time-to-live = 120s
27
28   # Maximum number of elements to transfer in one message when synchronizing the registries.
29   # Next chunk will be transferred in next round of gossip.
30   max-delta-elements = 3000
31
32   # When a message is published to a topic with no subscribers send it to the dead letters.
33   send-to-dead-letters-when-no-subscribers = on
34
35   # The id of the dispatcher to use for DistributedPubSubMediator actors.
36   # If specified you need to define the settings of the actual dispatcher.
37   use-dispatcher = "akka.actor.internal-dispatcher"
38 }
39 # //#pub-sub-ext-config
40
41 # Protobuf serializer for cluster DistributedPubSubMeditor messages
42 akka.actor {
43   serializers {
44     akka-pubsub = "akka.cluster.pubsub.protobuf.DistributedPubSubMessageSerializer"
45   }
46   serialization-bindings {
47     "akka.cluster.pubsub.DistributedPubSubMessage" = akka-pubsub
48     "akka.cluster.pubsub.DistributedPubSubMediator$Internal$SendToOneSubscriber" = akka-pubsub
49   }
50   serialization-identifiers {
51     "akka.cluster.pubsub.protobuf.DistributedPubSubMessageSerializer" = 9
52   }
53 }
54
55
56 # //#receptionist-ext-config
57 # Settings for the ClusterClientReceptionist extension
58 akka.cluster.client.receptionist {
59   # Actor name of the ClusterReceptionist actor, /system/receptionist
60   name = receptionist
61
62   # Start the receptionist on members tagged with this role.
63   # All members are used if undefined or empty.
64   role = ""
65
66   # The receptionist will send this number of contact points to the client
67   number-of-contacts = 3
68
69   # The actor that tunnel response messages to the client will be stopped
70   # after this time of inactivity.
71   response-tunnel-receive-timeout = 30s
72
73   # The id of the dispatcher to use for ClusterReceptionist actors.
74   # If specified you need to define the settings of the actual dispatcher.
75   use-dispatcher = "akka.actor.internal-dispatcher"
76
77   # How often failure detection heartbeat messages should be received for
78   # each ClusterClient
79   heartbeat-interval = 2s
80
81   # Number of potentially lost/delayed heartbeats that will be
82   # accepted before considering it to be an anomaly.
83   # The ClusterReceptionist is using the akka.remote.DeadlineFailureDetector, which
84   # will trigger if there are no heartbeats within the duration
85   # heartbeat-interval + acceptable-heartbeat-pause, i.e. 15 seconds with
86   # the default settings.
87   acceptable-heartbeat-pause = 13s
88
89   # Failure detection checking interval for checking all ClusterClients
90   failure-detection-interval = 2s
91 }
92 # //#receptionist-ext-config
93
94 # //#cluster-client-config
95 # Settings for the ClusterClient
96 akka.cluster.client {
97   # Actor paths of the ClusterReceptionist actors on the servers (cluster nodes)
98   # that the client will try to contact initially. It is mandatory to specify
99   # at least one initial contact.
100   # Comma separated full actor paths defined by a string on the form of
101   # "akka://system@hostname:port/system/receptionist"
102   initial-contacts = []
103
104   # Interval at which the client retries to establish contact with one of
105   # ClusterReceptionist on the servers (cluster nodes)
106   establishing-get-contacts-interval = 3s
107
108   # Interval at which the client will ask the ClusterReceptionist for
109   # new contact points to be used for next reconnect.
110   refresh-contacts-interval = 60s
111
112   # How often failure detection heartbeat messages should be sent
113   heartbeat-interval = 2s
114
115   # Number of potentially lost/delayed heartbeats that will be
116   # accepted before considering it to be an anomaly.
117   # The ClusterClient is using the akka.remote.DeadlineFailureDetector, which
118   # will trigger if there are no heartbeats within the duration
119   # heartbeat-interval + acceptable-heartbeat-pause, i.e. 15 seconds with
120   # the default settings.
121   acceptable-heartbeat-pause = 13s
122
123   # If connection to the receptionist is not established the client will buffer
124   # this number of messages and deliver them the connection is established.
125   # When the buffer is full old messages will be dropped when new messages are sent
126   # via the client. Use 0 to disable buffering, i.e. messages will be dropped
127   # immediately if the location of the singleton is unknown.
128   # Maximum allowed buffer size is 10000.
129   buffer-size = 1000
130
131   # If connection to the receiptionist is lost and the client has not been
132   # able to acquire a new connection for this long the client will stop itself.
133   # This duration makes it possible to watch the cluster client and react on a more permanent
134   # loss of connection with the cluster, for example by accessing some kind of
135   # service registry for an updated set of initial contacts to start a new cluster client with.
136   # If this is not wanted it can be set to "off" to disable the timeout and retry
137   # forever.
138   reconnect-timeout = off
139 }
140 # //#cluster-client-config
141
142 # Protobuf serializer for ClusterClient messages
143 akka.actor {
144   serializers {
145     akka-cluster-client = "akka.cluster.client.protobuf.ClusterClientMessageSerializer"
146   }
147   serialization-bindings {
148     "akka.cluster.client.ClusterClientMessage" = akka-cluster-client
149   }
150   serialization-identifiers {
151     "akka.cluster.client.protobuf.ClusterClientMessageSerializer" = 15
152   }
153 }
154
155 # //#singleton-config
156 akka.cluster.singleton {
157   # The actor name of the child singleton actor.
158   singleton-name = "singleton"
159
160   # Singleton among the nodes tagged with specified role.
161   # If the role is not specified it's a singleton among all nodes in the cluster.
162   role = ""
163
164   # When a node is becoming oldest it sends hand-over request to previous oldest,
165   # that might be leaving the cluster. This is retried with this interval until
166   # the previous oldest confirms that the hand over has started or the previous
167   # oldest member is removed from the cluster (+ akka.cluster.down-removal-margin).
168   hand-over-retry-interval = 1s
169
170   # The number of retries are derived from hand-over-retry-interval and
171   # akka.cluster.down-removal-margin (or ClusterSingletonManagerSettings.removalMargin),
172   # but it will never be less than this property.
173   # After the hand over retries and it's still not able to exchange the hand over messages
174   # with the previous oldest it will restart itself by throwing ClusterSingletonManagerIsStuck,
175   # to start from a clean state. After that it will still not start the singleton instance
176   # until the previous oldest node has been removed from the cluster.
177   # On the other side, on the previous oldest node, the same number of retries - 3 are used
178   # and after that the singleton instance is stopped.
179   # For large clusters it might be necessary to increase this to avoid too early timeouts while
180   # gossip dissemination of the Leaving to Exiting phase occurs. For normal leaving scenarios
181   # it will not be a quicker hand over by reducing this value, but in extreme failure scenarios
182   # the recovery might be faster.
183   min-number-of-hand-over-retries = 15
184
185   # Config path of the lease to be taken before creating the singleton actor
186   # if the lease is lost then the actor is restarted and it will need to re-acquire the lease
187   # the default is no lease
188   use-lease = ""
189
190   # The interval between retries for acquiring the lease
191   lease-retry-interval = 5s
192 }
193 # //#singleton-config
194
195 # //#singleton-proxy-config
196 akka.cluster.singleton-proxy {
197   # The actor name of the singleton actor that is started by the ClusterSingletonManager
198   singleton-name = ${akka.cluster.singleton.singleton-name}
199
200   # The role of the cluster nodes where the singleton can be deployed.
201   # Corresponding to the role used by the `ClusterSingletonManager`. If the role is not
202   # specified it's a singleton among all nodes in the cluster, and the `ClusterSingletonManager`
203   # must then also be configured in same way.
204   role = ""
205
206   # Interval at which the proxy will try to resolve the singleton instance.
207   singleton-identification-interval = 1s
208
209   # If the location of the singleton is unknown the proxy will buffer this
210   # number of messages and deliver them when the singleton is identified.
211   # When the buffer is full old messages will be dropped when new messages are
212   # sent via the proxy.
213   # Use 0 to disable buffering, i.e. messages will be dropped immediately if
214   # the location of the singleton is unknown.
215   # Maximum allowed buffer size is 10000.
216   buffer-size = 1000
217 }
218 # //#singleton-proxy-config
219
220 # Serializer for cluster ClusterSingleton messages
221 akka.actor {
222   serializers {
223     akka-singleton = "akka.cluster.singleton.protobuf.ClusterSingletonMessageSerializer"
224   }
225   serialization-bindings {
226     "akka.cluster.singleton.ClusterSingletonMessage" = akka-singleton
227   }
228   serialization-identifiers {
229     "akka.cluster.singleton.protobuf.ClusterSingletonMessageSerializer" = 14
230   }
231 }