工具类:
log日志类:使用log模块, 大型项目应该使用日志服务器接口
datadriver 数据库访问类 :使用mongdb
secrettools 加密解密模块:使用M2crypto
功能:
login TCP登录,AES 加密验证, 获取加密token,保证客服端与服务器安全通信, 玩家信息服务器端初始化(从数据库load)
action UDP处理:消息分发队列,各队列自主线程处理,HASH实现负载均衡,即固定的几个用户消息hash进同一个线程,实现无锁化编程
异步消息队列实现同步消息: 消息加入sync字段, 调用端阻塞等待返回。(后来发现rabbitMQ也是这么搞得)各线程自主从自己的消息队列取消息并分类处理
怪兽部分:线程加协程,消息选择性单播和多播
流程图: