【问题标题】:Efficient storage/retrieval method for replayable comet style applications (Google Wave, Etherpad)可重放彗星风格应用程序(Google Wave、Etherpad)的高效存储/检索方法
【发布时间】:2009-12-04 21:02:04
【问题描述】:

我正在考虑一个 Web 应用程序,它具有与您在 Google Wave 和 Etherpad 中看到的相同类型的多用户、自动保存、无限撤消/重放功能(尽管规模和用户群要小得多)。

在我离开并重新发明轮子之前,这是否已经被视为一项技术或库,甚至只是一种设计模式。

我知道这不一定是最好的 Stack Overflow 问题,因为可能没有一个“正确”的答案,但我的 Google-fu 让我失望了,我想要一个阅读清单!

通常我会在 python/django 下开发,但这不是一个严格的要求,只是一个偏好:)

【问题讨论】:

    标签: comet data-storage etherpad


    【解决方案1】:

    听起来像是真正的科技俱乐部三明治:

    • 服务器中的网页服务以及用户和会话管理服务器代码

    • 服务器中的 OLTP 和 Comet 即时消息服务器代码

    • Server 中的版本控制冲突解决代码

    • 客户端内部的内存版本控制数据库

    • 客户端中的版本控制冲突解决代码 (对传入字节批量操作以提高响应能力 - 客户端 平台是单线程的!)

    • 客户端内部的 Comet 即时消息客户端代码 (对传入字节批量操作以提高响应能力 - 客户端 平台是单线程的!)

    • 客户端 GUI 中的文本测量

    • (可选)自定义位图字体,用于对字体指标了解甚少的浏览器

    • 客户端 GUI 中的二维动画代码 (在待绘制列表上分批操作以提高响应能力 - 客户端 平台是单线程的!)

    • 客户端页面中的 Web 用户会话管理服务器代码

    主要的设计关注点是网络使用模型的灵活性,以支持在面对无用的代理服务器和连接或带宽限制需求时继续运行。您可能需要能够在相当多的 Comet 信令策略和超时范围套件之间轻松切换,进行试验,并允许应用轻松扩展,因为 Comet 在该领域的任何限制和问题都会减少。

    我预计主要的实现问题将是在 GUI 接受和确认插入符号位置更改或接收来自 Comet(层)的编辑和文本输入更改之间实现尽可能短的事件序列。

    【讨论】:

      猜你喜欢
      • 2011-05-29
      • 2011-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-28
      • 2018-03-09
      • 2015-07-15
      • 2013-01-14
      相关资源
      最近更新 更多