2013-05-13 23 views
1

需要做些什麼來擴大(水平擴展)使用Akka編寫的應用程序?粗略地說,爲了在集羣中添加新節點,我只需要在其上安裝JRE並使用我的Akka客戶端應用程序運行.jar文件?Akka。如何擴大規模?

+1

橫向擴展(許多節點),縱向擴展(一個大節點)。 – 2013-05-13 22:23:21

+0

聽起來你可能對Akka的Cluster功能感興趣。它允許您添加更多節點並輕鬆地將哪些參與者部署到這些新節點。你可以在這裏閱讀更多關於這個功能http://doc.akka.io/docs/akka/2.1.3/cluster/index.html – cmbaxter 2013-05-13 22:30:10

回答

5

雖然Akka本身擴展性很好,但只有在您的應用程序設計良好才能處理可伸縮性時,它才能做到這一點。簡單地將節點添加到集羣可能會有幫助,也可能無幫助例如,如果您的Akka應用程序提供某種類型的REST API,請求將如何在您的節點之間路由?國家存儲在哪裏,如果不在阿卡本身?如果存儲在Akka中,如何確保來自同一客戶端的後續請求最終在同一個節點上?如果它存儲在運行時間之外(例如,SQL數據庫),您將如何處理阻塞行爲?如果你的SQL數據庫然後成爲瓶頸,現在怎麼辦?

Akka提供了極好的可擴展性,我已經在其actor模型上建立了幾個這樣的系統來實現這一點。然而,你不能只是拋出問題的節點,並希望演員修復它。可伸縮性更多的是關於嚴謹的思維和設計,而不是希望演員是魔術棒。