skynet游戏服务端框架

skynet

pic

skynet是用c + lua实现一个类似Erlang的Actor模型的服务端编程环境,定位不仅仅局限于游戏服务端,所以它不是一个游戏服务端框架。 云风的博客给游戏服务端码农提供了一整套的解决方案,值不值得借鉴且不说,至少在游戏服务端开发这块没找到比云风博客更『系统正确』的路子了。

skynet actor模式 单进程内服务通过消息通信。

http://blog.codingnow.com/eo/skynet/
https://github.com/cloudwu/skynet/wiki
http://gad.qq.com/content/coursedetail?id=467
http://spartan1.iteye.com/blog/2059120 http://blog.csdn.net/uisoul/article/details/62431188 http://forthxu.com/blog/skynet.html
http://skynetdoc.com/

gate connection 集群。 Skynet 只负责把一个数据包从一个服务内发送出去,让同一进程内的另一个服务收到,调用对应的 callback 函数处理。它保证,模块的初始化过程,每个独立的 callback 调用,都是相互线程安全的。编写服务的人不需要特别的为多线程环境考虑任何问题。专心处理发送给它的一个个数据包。

而多线程模式,可以使得状态共享、数据交换更加高效。而多线程模型的诸多弊端,比如复杂的线程锁、线程调度问题等,都可以通过减小底层的规模,精简设计,最终把危害限制在很小的范围内。这一点,Skynet 最终花了不到 3000 行 C 代码来实现核心层的代码,一个稍有经验的 C 程序员,都可以在短时间理解,做维护工作。