zoukankan      html  css  js  c++  java
  • Python游戏server开发日记(一)目标

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


           新的server想达到的目标:

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

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

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


    这个目标还是非常雄伟的,仅仅能从底层一步一步攻克。

    在这里记录一下解决这个问题的过程,既是分享。也是督促自己不要半途而废。


    我个人极度喜欢skynet框架,因为非常多原因,skynet框架差点儿不可能改动为Python脚本。

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

    可是,在研究了skynet之后,我觉得以后必定会大量參考skynet的成熟做法。甚至copy非常多C语言层的代码。毕竟和高手对架构的理解,和C语言经验上。实在是差的太多。



  • 相关阅读:
    make_shared和shared_ptr的区别
    bitcoined
    ofstream的使用方法--超级精细。C++文件写入、读出函数(转)
    visual studio 安装过程
    Socket通信原理探讨(C++为例)
    以太坊的记录和关注点
    以太坊的应用
    以太坊
    比特币、以太坊
    c++
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6873681.html
Copyright © 2011-2022 走看看