在处理非常大的文档时,它基本上会压倒连接并停止或使用差异成功管理吗?
3 回答
简而言之:差异
每次有人在 etherpad 文档中点击一个键,所有连接的参与者都会收到一条短消息(大约 100 字节 + 大约千字节的 HTTP 标头和内容)
带宽不会是第一个瓶颈,所以不用担心 etherpad lite 服务器会导致带宽饱和(“填满”)。底层框架(node.js)本身也许可以(静态文件等),但 etherpad lite 代码肯定会受到 CPU 速度和可能的磁盘空间的限制。(经典的 ehterpad 每天可以生成 GB 的磁盘日志文件,我不知道“lite”是否默认为更有限的日志记录,但您当然可以更改或简单地删除旧的日志文件)
我已经探索了旧的/原始的 etherpad 和 etherpad lite 使用相同的方法来处理文本文档。没有文档“完整”存储,但始终作为一组更改存储。更改运行“回放”以重新创建文档。为了避免回放数千个微小的变化,数据库中存储了聚合变化(所以你回放 log10 时间尺度的变化)。
我会问作者这个问题(petermartischka - googlemail - com?),也许在这里发布答案?
你应该看看这个:http ://en.wikipedia.org/wiki/Operational_transformation 。
虽然我不了解 Etherpad,但http://codecollab.gamooga.com/和http://collabedit.com/使用它。Google Docs 使用了这个的变体。