最近大概看了下 DarkStar 的结构,目前,起内部就是一个 TaskScheduler,默认开了 4 个线程作为 TaskConsumer,所有的 Task 都丢到 queue 中,轮到谁了,谁就被 TaskConsumer 执行下。
DarkStar 有几个系统内部使用的 Task。而你自己写的内容,也是几个独立的 Task,在事件(网络数据、timer等)到达时,就会把你的 Task 排入 queue 中,等待处理。
再参考了下 roadmap,发现 milestone 3/4 还在制作当中,也就是说 multi-node 的负载均衡,目前是没有的。
不过号称到今年 12.01 会完成,持续关注ing~
http://www.projectdarkstar.com/external/roadmap.html根据 Milestone 1 所言,目前的 DarkStar 还只是一个很初级的多服结构,不过如何 share data across all nodes 我还没看到,呵呵,继续研究~
* Multiple machines can run the same game, sharing state
* Data is shared across all nodes
* Channels can include players located on different nodes
* No load balancing or player movement; players are assigned to a node when they first log in and remain on that node
评论