将数据从数据库实时推送到UI

时间:2012-10-04 04:43:14

标签: mongodb redis real-time server-sent-events real-time-updates

我有一个数据库(MySQL)正在向其写入数据。我需要推送新记录并将记录更改为UI。这里有一些限制:我无法控制写入此数据库的代码,我无法修改它以写入队列。

到目前为止,我正在定期读取数据库以获取更改和新增内容(使用上次更新时间戳)并将该数据推送到mongo数据库(因为我不想为每个请求点击主MySQL服务器)。然后我使用cramp(ruby框架)和服务器发送事件将这些更改推送到前端。为了维护每个用户队列,我在混合中使用了redis。

我意识到这是一种实时推送的精确方式。我想知道这个烂摊子是否有更简洁的解决方案。

1 个答案:

答案 0 :(得分:-1)

如果要从服务器实时推送数据,请使用提供实时访问的技术。我建议你使用Websockets

唯一的问题是所有浏览器都不支持websockets,为了解决这个问题,您可以使用基于websockets构建的可用框架,这些框架可以为浏览器支持的协议提供回退,例如长轮询,流式传输等。以下是我建议使用的框架: