服务端开发笔记三:pemelo开发过程中遇到的有关问题

服务端开发笔记三:pemelo开发过程中遇到的问题

一 登录顶号

问题:
首先需要弄明白的是,一个客户端只有一个pomelo实例。
当用户登录之后,不退出,重启客户端。




解决方案:

原因目前还在查找,找到了再来更新,有路过的小伙伴儿有其他的解决方案也欢迎留言讨论。


二 数据库触发器

问题:
数据库中有两种表User和Level,添加了一个触发器,当在User表中插入数据时,
在Level表中也生成一条记录,保存玩家初始的关卡数据。
这种的设定看上去合符逻辑,没有问题,但是运行的时候问题出来了。
当玩家创建完角色之后,会马上请求返回玩家的信息,这是就会去查询玩家的Level表。
这时候触发器有可能会没有完成数据库中Level表的操作,导致读出来的数据为空。


解决方案:
由于触发器操作在程序中没办法控制,所以只好抛弃它了。
在User表中插入数据的之后,继续在Level表中增加一条记录,然后在返回数据。


三 全服排行

问题:
要全服排行榜,要拿到所有服上玩家的数据做比较。由于分布式架构,玩家的数据库之中,是拿不到彼此的数据。


解决方案:
拿出一个单独的服务器来生成玩家的UID,使得所有的玩家UID都不重复。
然后将需要比较的玩家数据比如说战力或者等级,也放到对应的UID记录中。
这样,每次排行只需要到排行服务器来查找就可以了。

相关内容推荐