问题标签 [deepstream.io]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pagination - 订阅分页列表
我正在寻找一个能够订阅分页列表上的实时更新的框架。
服务器应该考虑用户对该订阅的查询,并且应该只将更新发送给通过查询的订阅者,而不是广播给所有人。
这是否可以在 deepstream.io 中实现,它的难度和效率如何?
我一直在为此使用 Meteor,但我试图偏离这个堆栈。
谢谢。
javascript - 如何在 Deepstream.io 中使用 Bunyan?
根据他们的文档(http://deepstream.io/docs/deepstream.html),它说我可以将默认记录器更改为我自己的:
(顺便说一句,Logger应该是logger。使用 Logger 时会抛出Error: Unknown option "Logger"
)。但是,我想使用 Bunyan 作为默认记录器,并且我尝试了以下变体:
我不断收到的错误是:
javascript - 在 nginx 后面部署 deepstream.io
我们在 nginx 层进行了 kerberos 身份验证,并希望作为反向代理连接到 deepstream.io 实例。从我对文档的阅读来看,将网络服务器放在 deepstream.io 实例前面似乎会影响性能。此外,还有谁做负载平衡的问题——通常是在 nginx 层,但 deepstream.io 似乎确实具有要求其他实例处理负载的内置功能(通过消息传递)
让 deepstream.io 实例与 Web 服务器良好运行的最佳方法是什么?在 Node.js 中重新实现 kerberos 身份验证并非易事。
javascript - 将 deepstream 服务器连接到 rethinkdb 实例
我试图建立一个 deepstream.io 实例,但遇到了一些困难:我不知道如何将 deepstream.io 实例连接到 rethinkdb 服务器。我试过这个配置:
但是,服务器在启动后崩溃并熄灭:
尽管我打开了所有端口 Needet(8080 和 28015)并通过 tmux 保持实例运行。
你知道如何解决这个问题吗?非常感谢您的回答,在此先感谢!
斯特凡
javascript - 使用 deepstream.io 进行实时投票
deepstream.io
我通过使用和rethinkdb
作为持久性存储制作了一个实时投票系统的原型。到目前为止,它可以工作,并且多个浏览器可以保持同步以获取最新的投票计数(见下面的截图),但是,我不喜欢它的一件事vote count
是在浏览器中递增,它被发送到deepstream.io
远程服务器。
嵌入在客户端浏览器中的 JS 代码:
server.js 代码:
所以你可以看到客户端的js代码直接增加了投票计数并更新了记录,这是要发送到deepstream.io服务器更新数据库的。我不喜欢这部分,因为我不希望用户弄乱总票数。相反,我希望客户端只是向+1
服务器发送类似的东西,并让服务器更新持久性的总数。我不确定这是否可能,有人可以解释一下吗?我很感激
deepstream.io - 在record.set之后调用record.whenReady有意义吗?
record.set 是同步的还是异步的?如果我想确保在文档完全更新时执行我在 record.set 之后放置的代码,我应该用 record.whenReady(function() {...}) 包装我的代码吗?
考虑代码如下所示:
deepstream.io - deepstream 不会立即更新 rethinkdb 文档
我猜在 record.set(...) 调用和数据库中更新文档之间存在延迟。请注意,该文档最终在 DB 中更新,但不会立即发生。我有涵盖文档更新流程的验收测试,有时它会在检测到更新时通过,有时它会失败,因为它检查数据库的时间还没有更改。即使测试失败,我也可以手动检查数据库并查看文档是否已更新。测试代码使用直接连接rethinkdb来检查更新的文档。我想知道 deepstream 是否真的会延迟记录更新以及如何调整它。请注意,我没有在测试环境中为 deepstream 启用像 redis 这样的缓存。为了更好地理解案例,请查看下面的代码片段。
考虑我有一个 rpc 端点,例如:
测试代码如下:
rethinkDBService 只是我对 rethinkdb 库的包装,它只是出于测试目的而直接将数据获取或插入到数据库中。
deepstream.io - 使用 deepstream List 获取数万个唯一值
我想知道使用 deepstream record.getList 存储许多唯一值是好还是坏,例如电子邮件或任何其他唯一标识符。主要目的是能够快速回答问题,例如,我们是否已经拥有使用此类电子邮件(正在使用的电子邮件)的用户或特定唯一字段的其他记录。
我今天做了一些实验,遇到了两个问题:1)当我试图用我得到的几千个值填充列表时
我的深层服务器关闭了。我可以通过使用此标志向服务器节点进程添加更多内存来修复它
它看起来不太好,但允许我列出超过 5000 项的列表。
2)这对我的测试来说还不够,所以我预先创建了包含 50000 个项目的列表,并将数据直接放入 rethinkdb 表中,并在获取列表或修改列表时遇到了另一个问题:
我能够用另一个标志修复它:
它有帮助,但我相信当列表大小达到适当值时,其中一个错误出现在生产中只是时间问题。我真的不知道是 nodejs、javascript、deepstream 还是 rethinkdb 问题。总的来说,这让我觉得我尝试以错误的方式使用 deepstream List。请告诉我。先感谢您!
deepstream.io - 限制对 RPC 端点的访问
我想知道 deepstream 是否提供现成的解决方案来使端点成为私有/公共。如果不是我想知道如何在服务器端跟踪正确的深度流调用以仅允许某些端点?我相信我需要提供实现 canPerformAction 的 permissionHandler 并检查它是否是需要授权的 RPC 调用以及调用者是否正确授权这样做。这是正确的想法吗?我正在查看文档并了解我对主题 P 感兴趣,但我不知道检查的正确操作是什么。 https://deepstream.io/docs/constants.html
提前致谢!
javascript - 如何从 deepstream.io 注销?
我可以关闭连接,ds.close()
但只要我运行,ds.login()
我就会以同一用户身份登录,而不管提供的凭据如何。
即使我deepstream
在再次登录之前创建了一个新的客户端实例,用户也不会改变。