Python游戏服务器开发日记(八)整体方案改变了……

团队采用多进程和共享内存技术改进架构,通过Python环境启动工作进程,并使用序列化方式保存entity,以实现并发读取和Copy-on-Write特性。尽管作者不喜序列化,但该方案展现出简洁高效的优势。

        老大和CTO提出了新的方案,之前的架构被推翻了。

        简单来说,就是使用多进程,工作进程启动python环境。

        最奇葩的是,我们回到了利用共享内存保存entity的方案。entity里保存纯data,是一个纯的二进制数据块。

        Entity在用的时候,包装成PyObject给Python使用。如果修改了,则重新打包成二进制块存回去。


        说白了就是 共享内存 + 序列化 的方式。比以前的方案简单的多。

        为什么一定要坚持这种方式呢?因为老大对COW比较感兴趣(copy on write),希望利用mmap共享内存已有的COW机制,实现并发读取。

        (2015-10-19,没发现mmap能实现老大想要的COW。)


        不好评价,试验一下再说。目前来看确实挺好,比之前的方案简洁。虽然我不喜欢序列化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值