This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import akka.routing.ConsistentHashingRouter | |
import akka.routing.ConsistentHashingRouter.ConsistentHashMapping | |
import akka.actor.Actor | |
import akka.pattern.ask | |
case class Entry(key: String, value: String) | |
class Cache extends Actor { | |
var cache = Map.empty[String, String] | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
akka.actor.deployment { | |
/statsService/workerRouter { | |
router = round-robin | |
nr-of-instances = 100 | |
cluster { | |
enabled = on | |
routees-path = "/user/statsWorker" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import akka.cluster.Cluster | |
import akka.cluster.ClusterEvent._ | |
val clusterListener = system.actorOf(Props(new Actor with ActorLogging { | |
def receive = { | |
case state: CurrentClusterState ⇒ | |
log.info("Current members: {}", state.members) | |
case MemberUp(member) ⇒ | |
log.info("Member is up: {}", member) | |
// send a message to the "world" actor running at the member node |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
case object BackendRegistration | |
case class Job(text: String) | |
class Frontend extends Actor { | |
var backends = IndexedSeq.empty[ActorRef] | |
var jobCounter = 0 | |
def receive = { | |
case job: Job if backends.isEmpty => |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package example | |
import java.util.concurrent.ConcurrentHashMap | |
import java.util.concurrent.ConcurrentLinkedQueue | |
import com.typesafe.config.Config | |
import com.typesafe.config.ConfigFactory | |
import akka.actor.Actor | |
import akka.actor.ActorContext | |
import akka.actor.ActorRef | |
import akka.actor.ActorSystem |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import akka.actor.{ Actor, ActorRef, Props, ActorSystem } | |
import akka.camel.{ CamelExtension, CamelMessage, Consumer, Producer } | |
import org.apache.activemq.camel.component.ActiveMQComponent | |
object CamelDemo extends App { | |
val system = ActorSystem("CamelDemo") | |
CamelExtension(system).context.addComponent("activemq", | |
ActiveMQComponent.activeMQComponent( | |
"vm://localhost?broker.persistent=false")) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com> | |
*/ | |
package akka.contrib.pattern | |
import scala.concurrent.duration._ | |
import akka.actor.Actor | |
import akka.actor.Actor.Receive | |
import akka.actor.ActorLogging |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
val backend = context.actorOf(Props[FactorialBackend]. | |
withRouter(FromConfig), name = "factorialBackendRouter") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
akka.actor.deployment { | |
/factorialFrontend/factorialBackendRouter = { | |
router = adaptive | |
# metrics-selector = heap | |
# metrics-selector = load | |
# metrics-selector = cpu | |
metrics-selector = mix | |
nr-of-instances = 100 | |
cluster { | |
enabled = on |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
akka.cluster.min-nr-of-members = 3 |