老大和CTO提出了新的方案,之前的架构被推翻了。
简单来说,就是使用多进程,工作进程启动python环境。
最奇葩的是,我们回到了利用共享内存保存entity的方案。entity里保存纯data,是一个纯的二进制数据块。
Entity在用的时候,包装成PyObject给Python使用。如果修改了,则重新打包成二进制块存回去。
说白了就是 共享内存 + 序列化 的方式。比以前的方案简单的多。
为什么一定要坚持这种方式呢?因为老大对COW比较感兴趣(copy on write),希望利用mmap共享内存已有的COW机制,实现并发读取。
(2015-10-19,没发现mmap能实现老大想要的COW。)
不好评价,试验一下再说。目前来看确实挺好,比之前的方案简洁。虽然我不喜欢序列化。

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

被折叠的 条评论
为什么被折叠?



