0
我正在學習akka,但我無法找到路由器和actor之間的任何區別。路由器用於重新定義發送者和接收者之間的路徑,並且演員服務於專門的工作。請讓我知道是否有任何結構上的差異(就演員組件而言)。路由器和演員之間的區別
我正在學習akka,但我無法找到路由器和actor之間的任何區別。路由器用於重新定義發送者和接收者之間的路徑,並且演員服務於專門的工作。請讓我知道是否有任何結構上的差異(就演員組件而言)。路由器和演員之間的區別
Akka路由器的主要目的是提供一個並行執行消息的機制。消息可以通過路由器發送到有效路線他們到目的地演員又名其routees(用作專用工作的)。因此,它不僅是重新定義路徑。
在內部結構方面,當涉及到路由器的演員(你也可以定義一個standalone router),該消息傳遞優化:
另一個關鍵區別在於,路由器演員將消息轉發給其routees不改變原本身的事實的nDer。因此,當你寫:
class TaskEngine extends Actor {
val routeePaths: List[String] = ...
val router: ActorRef = system.actorOf(RoundRobinGroup(paths).props(), "coffee-house-group")
def receive = {
case msg => router ! msg
}
}
變得等於以下在一個普通的演員。
class BasicActor(workerActor: ActorRef) extends Actor {
def receive = {
case msg => workerActor forward msg
}
}
我希望這回答你的問題。
感謝您的回答,但請讓我知道從哪裏我可以學習阿卡作爲初學者 – Partish