Trello 网络套接字订阅

问题描述

Trello 订阅模型

嗨,

我很好奇 Trello 订阅模型的工作原理。在博文中https://tech.trello.com/why-we-chose-kafka/ 他们说:“套接字服务器现在具有主客户端架构。主节点订阅了整个主题并且 接收所有增量更新并根据客户端需要转发给用户的模型在本地进行过滤。” 主服务器订阅了 Kafka。

我想他们只向连接的客户端发布当前的增量更新。

这是来自浏览器检查器的板子订阅示例:

请求:

{"type":"subscribe","modelType":"Board","idModel":"5d9b302de3240b2306e96f04","tags":["clientActions","updates"],"invitationTokens":[],"reqid":2}

回复

{"reqid":2,"result":2115}

Result 2115 是板模型的最后一条消息的序列号,订阅后传播到客户端的消息中的 ixLastUpdateChannel 字段。

对于 Web 浏览器中的检查器,trello 客户端应用调用 GET 服务来加载带有卡片的板并同时订阅该板模型。

有些事情我想不通:

  1. 订阅响应消息返回板模型的最后一条消息的序列号。 Trello 套接字服务器是否从 mongodb 加载该值?

  2. 当 GET 服务调用订阅发生时,trello 应用程序如何判断数据是否过时?例如,如果应用程序首先获得 GET 服务响应 那么订阅需要一些时间,其他用户同时进行一些更改?

当然,可能 trello 根本不能像这样工作。

Zlaja

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)