前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python游戏服务器开发日记(一)目标

Python游戏服务器开发日记(一)目标

作者头像
py3study
发布2020-01-13 12:28:01
2.1K0
发布2020-01-13 12:28:01
举报
文章被收录于专栏:python3

        到了新的环境,老大让我有空研究下一代服务器技术,作为一个长期任务。

       新的服务器想达到的目标:

       1、分布式系统,对象(Entity)之间的关系类似于Actor模型。

       2、逻辑服务,是单进程、多线程的,对象之间发消息进行通信,但是简单读取属性尽可能做到直接。

       3、必须使用Python语言。开发方式类似于BigWorld引擎。

这个目标还是很宏伟的,只能从底层一步一步攻克。在这里记录一下解决问题的过程,既是分享,也是督促自己不要半途而废。

我个人极度喜欢skynet框架,由于很多原因,skynet框架几乎不可能修改为Python脚本。

原因除了众所周知的GIL(Python全局锁)问题以外,还有Python的Interpreter是极为重量级的,如果像skynet的独立lua_state那样使用,怕是什么都不做也能把内存全部用光。所以还是用普通的对象表示每个Entity,在进程内保存所有对象即可,逻辑进程之内,也并不存在“独立服务”的概念。

但是,在研究了skynet之后,我认为以后必然会大量参考skynet的成熟做法,甚至copy很多C语言层的代码。毕竟和高手对架构的理解,和C语言经验上,实在是差的太多。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档