撸个服务端出来系列(二)

这周解决了几个问题。

1.高并发时多线程处理时的问题,原来设计的时候是每个gamer绑定了一个channel,每个gamer都有一个消息队列。一个时间片中只处理了每个gamer的一条请求。我将其修改成了,一个时间片中处理完所有这个时间片中发出的请求。这样极大地增加了效率。

2.使用了PooledByteBufAllocator 防止内存溢出,将原来程序中频繁用到的size()>0这个操作换成了isEmpty()。因为在某些数据结构的实现中,size()方法会遍历整个链表。

3.设计了下数据库。

4.最后整个逻辑我要怎么串起来还没想好。如何让模块内高聚合,模块间松耦合。根据其他开源游戏引擎的思想,前端服务器进行socket分发,后端服务器之间进行rpc调用。。

原文地址:https://www.cnblogs.com/leejuen/p/5561747.html