我有一個聚合了一些信息並處理它的演員。目前,它看起來像這樣:如果我有一個演員,該怎麼辦應該有很大的節奏?
class MessageTracerActor extends Actor{
override def receive: Receive = {
case MyActor.TracableMessage(msg) => //send processed msg to another place
case v: Any => //corner-case, has special handler
}
}
演員應該要發送的延長TracableMessage
消息的痕跡。但TracableMessages
是從相當多的演員發送和主機MessageTracerActor
在一臺機器上不是很好。
我看着cluster shrading,但這似乎並非如此。他們說,當你比有一個適合機器 很多演員狀態 一起消耗更多的資源(例如內存)
集羣分片通常使用。如果你只有幾狀態的演員,可能更容易 一個集羣辛格爾頓節點上運行它們。
但是,Cluster Singleton嚴格地託管在一個不可伸縮的節點上。
也許有與我可以指定線程用於處理由演員收到的郵件數量(甚至節點)的一些配置選項?
我是一個新手,阿卡,但不會是有意義的使用阿卡路由器/ routees增加吞吐量,而不是隻用一個演員。 – Samar
@Samar有趣的是,我讀了這篇文章。在他們的例子中,他們自己創造了演員。在羣集的情況下,我將不得不手動部署演員到特定的節點。也許分片更好,因爲它本身可以跨節點傳播分片。 –
路由器可以將消息發送到分佈式系統中其他節點上的路由。這是一個解釋路由器/ routee策略以增加吞吐量的鏈接。 https://www.packtpub.com/books/content/dispatchers-and-routers – Samar