scala – 播放Websocket示例 – 只有一位Akka演员?
在随播放框架提供的Websocket聊天示例中,在我看来,只创建/使用了一个actor;它还使用“接收”,如果我理解的话,强制演员和线程之间的1:1映射,有效地使这个聊天服务器单线程?
检查代码:https://github.com/playframework/Play20/blob/master/samples/scala/websocket-chat/app/models/ChatRoom.scala 如果这个分析正确吗?如果是,您是否有关于如何使该服务器具有高度可扩展性的指针? 解决方法
在
http://www.playframework.org/documentation/2.0.1/AkkaCore上有关于该示例中使用的websockets的默认调度程序配置的一些细节.
该网页还显示默认配置: websockets-dispatcher = { fork-join-executor { parallelism-factor = 1.0 parallelism-max = 24 } } 默认情况下,所有调度程序都将在线程池上运行其actor集.因此,对于创建websocket的每个客户端,将创建一个actor.分配了多少个线程取决于使用哪个执行程序服务.似乎fork-join-executor将根据需求创建线程,直到parallelism-max. 最重要的是,还有演员来处理行动和承诺. 在akka中似乎有许多旋钮来微调性能.请参阅http://doc.akka.io/docs/akka/2.0.1/general/configuration.html.使服务器“高度可扩展”可能涉及大量基准测试和一些硬件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Puppet包“ensure => latest”并不总是有效
- twitter-bootstrap – 在引导程序中隐藏可允许的警报
- c# – 远程调试.NET Core Linux Docker容器 – “当前源与.
- 8天入门docker系列 —— 第六天 搭建自己的私有镜像仓库Reg
- angularjs – Angular Bootstrap Dropdown在Angular Fullst
- linux下整合运维的bash脚本(不完整代码)(分享学习用)
- Scalaz验证,验证内在价值
- angularjs – 使用Gruntjs配置Restangular.baseUrl
- angularjs – 关闭AngularStrap popover
- 采用Webpack构建Angular应用以及AoT支持