初定为EGame

时间:2024-04-19 06:17:09

【Q】在纠结到底要用什么方式写博客,是原生态记录框架编写过程(有点所谓的手把手教学的感觉有木有),还是每个模块整合完毕后写分析文章,新手没有写过博客,不知道那种效果好。朋友们给点建议?

这套框架的初衷是可以整一套可以高效、快速、低成本开发网页游戏、手机游戏的后端框架,想了个名字叫EGame(Easy Game),后续会发一些客户端相关的博文。

整体框架:

1. 底层为C++,逻辑层为Lua,实现所有玩法逻辑脚本实现。

2. 网络库用 libevent,不仅有epool,更看中其bufferevent

3. 数据库为mysql,用memcache做数据缓冲层,实现离线数据处理与登录时角色是否存在查询等

4. 框架的主体结构为用IOThread和LogicThread两个线程来处理两个无锁循环消息队列

  Queue<MsgRecv>* g_qRecv来处理接收到的客户端消息,

  Queue<MsgSend>* g_qSend为服务端处理完逻辑之后将分发给客户端的消息

设计思路为IOThread收到客户端消息后,将其压入消息队列g_qRecv,由LogicThread读取g_qRecv队列中消息,处理完逻辑之后把要发给客户端的结果压入消息队列g_qSend,IOThread再来分发g_qSend队列消息

5. LogThread线程为写日志相关,写完log之后可用rsync同步给管理后台

6. HttpRequestThread线程用来处理与管理后台的Http请求相关,如一些后台接口

7. HotUpgradeThread线程用来监控Lua脚本是否更新,检测是否变化来重置Lua全局环境实心热更新

注:想把框架介绍写的详细一点、牛逼一点却感觉文笔匮乏啊,后续再慢慢优化改进吧,把不具体的、不够的地方慢慢补上。

【Q】想做一个框架图,却不知道用什么好,用word什么的做出来感觉不尽人意,朋友们有工具推荐吗?