【问题标题】:Best way to implement a matching algorithm without a Backend在没有后端的情况下实现匹配算法的最佳方法
【发布时间】:2021-08-27 10:38:22
【问题描述】:

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

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

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

我在想如果 pubnub 有类似 totalSubscribers() 之类的频道,那么我可以过滤掉我的应用程序本身。但是处理这个问题的理想方法是什么?我知道也可能存在很多并发问题,但由于最初的用户仍然很少,我认为我现在可以使用一些近似的解决方案。

我更喜欢不需要创建自己的后端而是使用现有 SAAS 服务的解决方案

【问题讨论】:

标签: firebase react-native expo chat pubnub


【解决方案1】:

PubNub 存在

我建议您查看PubNub Presence,它会跟踪每个频道的订阅者数量。您可以使用hereNow API 获取给定频道上的当前订阅者数量,但我也会考虑使用Presence Webhooks,您可以将其配置为在订阅者加入频道时通知您的服务器。一旦计数达到 2,您就可以“锁定”频道。

一旦频道有 2 个占用者,将其从您在 UI 中显示的“可用频道”列表中删除。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2012-06-21
    • 2021-06-15
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 2012-12-12
    相关资源
    最近更新 更多