summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
94374bc)
Added two parameters,
- throughput = 1 this is to make the dispatcher fair, which helps in preventing
actor starvation
- SingleConsumerOnlyUnboundedMailbox which is a more efficient and recommended
Mailbox to use in our case
I've tested both these settings and they seem to work pretty well and do not
contribute to destabilization
Change-Id: I5072f7dad7ad862eaafaada3e88d78600fb3665d
Signed-off-by: Moiz Raja <moraja@cisco.com>
loggers = ["akka.event.slf4j.Slf4jLogger"]
actor {
loggers = ["akka.event.slf4j.Slf4jLogger"]
actor {
provider = "akka.cluster.ClusterActorRefProvider"
serializers {
provider = "akka.cluster.ClusterActorRefProvider"
serializers {
- java = "akka.serialization.JavaSerializer"
- proto = "akka.remote.serialization.ProtobufSerializer"
- }
+ java = "akka.serialization.JavaSerializer"
+ proto = "akka.remote.serialization.ProtobufSerializer"
+ }
+
+ serialization-bindings {
+ "com.google.protobuf.Message" = proto
+ }
- serialization-bindings {
- "com.google.protobuf.Message" = proto
+ default-dispatcher {
+ # Setting throughput to 1 makes the dispatcher fair. It processes 1 message from
+ # the mailbox before moving on to the next mailbox
+ throughput = 1
+ }
+ default-mailbox {
+ # When not using a BalancingDispatcher it is recommended that we use the SingleConsumerOnlyUnboundedMailbox
+ # as it is the most efficient for multiple producer/single consumer use cases
+ mailbox-type="akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
+ }
}
remote {
log-remote-lifecycle-events = off
}
remote {
log-remote-lifecycle-events = off