在没有后端的情况下实现匹配算法的最佳方式



我正在做一个项目,在这个项目中,人们可以开始相互聊天,其他人也可以加入他们,例如

用户1将开始聊天,然后任何人都可以加入他们,但我想确保只有一个人加入,即1:1聊天。所以我要做的是,我会向每个用户显示用户1可以聊天,但一旦有人加入聊天,如果其他人试图聊天,他们就会出错。

对于我的架构,我使用react native作为移动应用程序,使用firebase作为后端(因为现在是mvp(对于聊天,我考虑使用pubnub,它提供其他人可以订阅的频道。现在我想要的是,如果两个人已经订阅了频道,我不希望其他人订阅。在我当前的架构中,我如何实现这一功能?

我在想,如果pubnub有一个频道的totalSubscribers((,那么我可以在我的应用程序上过滤掉。但是,处理这个问题的理想方式是什么呢?我知道可能也会有很多并发问题,但由于最初用户数量仍然很低,我想我现在可以使用一些近似的解决方案。

我更喜欢这样一种解决方案,即我不必创建自己的后端,而是使用现有的SAAS服务

PubNub存在

我建议你看看PubNub Presence,它可以跟踪每个频道的订户数量。您可以使用hereNowAPI来获取给定频道上的当前订户数量,但我也会考虑使用Presence Webhook,您可以配置它来在订户加入频道时通知您的服务器。一旦它达到2的计数;锁定";频道。

一旦通道有2个占用者;可用信道";在UI中显示的列表。

这只是一个高级设计,可能需要更多的";螺栓紧固";但我建议联系PubNub销售,与客户经理和解决方案架构师交谈,以获得最佳实践建议。PubNub Access Manager很可能是一种只允许两个用户访问的安全方式。

最新更新