gpt4 book ai didi

xmpp - 为什么我不应该使用 couchdb 进行消息传递或实时事件流?

转载 作者:行者123 更新时间:2023-12-04 11:31:24 24 4
gpt4 key购买 nike

虽然使用 ampq 或 xmpp(rabbitmq 或 ejabbered,可以将 couchdb 作为后端)似乎非常适合在社交游戏平台中提供有关 friend 状态的实时更新,其中更新虽小但频繁,但我不禁想为什么会couchdb 不是提供此类更新的好平台吗?

我能想到的主要优点是它能够根据 friend 和更改 api 的可用性过滤更新,与 ampq 或 xmpp 相比,这使得开发这样的应用程序和管理它(包括复制)非常容易,因为您必须考虑如何管理 pubsub 节点以及在任何时间点订阅它们的人。

但是,我不禁觉得这好得令人难以置信,我找不到有关 couchdb 的缺点是什么的信息。不知何故,感觉就像使用 MySQL 进行消息传递,这就是为什么我对使用它犹豫不决。

任何人都有将 couchdb 用于此类应用程序的经验吗?你会推荐另一个平台使用吗?

最佳答案

以下是您在使用“小而频繁”的更新和 CouchDB 时会遇到的一些问题。

CouchDB 有一个优秀的 MVCC 系统用于文档更新。每次更新都会更改修订版本,您无法在不传递要更新的修订版本的情况下更新文档。这也意味着,如果您有多个客户端以难以置信的频率更新同一个文档,此功能将成为障碍,因为即使有更改提要,更新后也会有很小的网络延迟。

使用过滤更改可能遇到的另一个问题是过滤器函数获取请求对象,这意味着它是对每个文档乘以连接数对 View 服务器的单独调用。您可能希望使用 node.js 或 erlang 服务器来实现“ channel ”方法来更改过滤并将其置于单个未过滤的更改提要上。

总而言之,如果您没有多个客户端尝试以高频率更新相同的文档,并且如果您没有对具有高数据库的大量并发客户端使用更改过滤器,那么您想要做的事情将很有效更新频率。除此之外,它会很好用。 @jchris 仅使用裸更改源就完成了大量实时应用程序,并且它们运行良好。

关于xmpp - 为什么我不应该使用 couchdb 进行消息传递或实时事件流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com