如何使用 ably.io 设置电子商务消息传递解决方案
How to set up an e-commerce messaging solution using ably.io
我有一个电子商务网站,我想在我的客户之间实施消息传递解决方案,使用 ably.io. I am new to ably.io and also to pub/sub 消息模式,需要一些建议让我走上正轨。
假设我的网站上有 75,000 名用户。用户可以创建广告...如果有人对广告感兴趣,他们应该能够向广告商发送消息。
这是我看了ably的文档后想到的解决方案:
因为我有 75,000 个用户,所以我创建了 75,000 个频道,每个用户 1 个频道。
名为 Brian 的用户在网站上创建了一个广告。 Brian 订阅 BrianChannel 以接收他自己频道上的所有消息。现在 Amy 和 Tom 看到了 Brian 的广告并想联系他,他们在 BrianChannel 上发布消息,Brian 会收到消息。
我不确定上面的解决方案是否正确?
如果上述解决方案是正确的,我还有两个问题:
让布赖恩使用 JavaScript 订阅 BrianChannel。现在 Brian 显然不是 24/7 全天候在线 - 我应该如何在他离线时处理他的消息?
我的网站上有 75,000 名用户注册。在任何时候都有 5,000 个用户在线。在这 5000 名在线用户中,有 20 名用户实际上在互相发送消息。使用我上面的解决方案,我应该为所有在线用户提供 5,000 个活动频道......有没有办法减少活动频道的数量?也许通过定期轮询频道?
我是 Ably 的开发倡导者 Srushtika。
您的方法是正确的,实际上是最常用的方法。也就是说,您的 75,000 名用户中的每一个都将拥有自己的频道,只有他们会订阅这些频道。任何其他希望向他们发送消息的客户端都将附加到 'their' 频道并向其发布消息。由于所有用户始终都订阅了自己的频道,因此他们将能够收到为他们准备的任何消息。
如果您的任何订阅者客户端在向他们发送消息时不在线,默认情况下,Ably 的 Realtime 平台会将其保留 2 分钟,之后,如果订阅者客户端仍处于离线状态,消息将被丢弃。但是,使用 Persisted History 功能,您可以将消息的保留时间增加到 24-72 小时。
不幸的是,截至目前,Ably 没有提供一种机制来在客户端仍然在线时从没有 activity 的频道分离。但是,此功能即将推出。请关注我们的 Engineering blog,我们 post 所有此类更新。
希望这能回答您的问题。
我有一个电子商务网站,我想在我的客户之间实施消息传递解决方案,使用 ably.io. I am new to ably.io and also to pub/sub 消息模式,需要一些建议让我走上正轨。
假设我的网站上有 75,000 名用户。用户可以创建广告...如果有人对广告感兴趣,他们应该能够向广告商发送消息。
这是我看了ably的文档后想到的解决方案:
因为我有 75,000 个用户,所以我创建了 75,000 个频道,每个用户 1 个频道。
名为 Brian 的用户在网站上创建了一个广告。 Brian 订阅 BrianChannel 以接收他自己频道上的所有消息。现在 Amy 和 Tom 看到了 Brian 的广告并想联系他,他们在 BrianChannel 上发布消息,Brian 会收到消息。
我不确定上面的解决方案是否正确?
如果上述解决方案是正确的,我还有两个问题:
让布赖恩使用 JavaScript 订阅 BrianChannel。现在 Brian 显然不是 24/7 全天候在线 - 我应该如何在他离线时处理他的消息?
我的网站上有 75,000 名用户注册。在任何时候都有 5,000 个用户在线。在这 5000 名在线用户中,有 20 名用户实际上在互相发送消息。使用我上面的解决方案,我应该为所有在线用户提供 5,000 个活动频道......有没有办法减少活动频道的数量?也许通过定期轮询频道?
我是 Ably 的开发倡导者 Srushtika。
您的方法是正确的,实际上是最常用的方法。也就是说,您的 75,000 名用户中的每一个都将拥有自己的频道,只有他们会订阅这些频道。任何其他希望向他们发送消息的客户端都将附加到 'their' 频道并向其发布消息。由于所有用户始终都订阅了自己的频道,因此他们将能够收到为他们准备的任何消息。
如果您的任何订阅者客户端在向他们发送消息时不在线,默认情况下,Ably 的 Realtime 平台会将其保留 2 分钟,之后,如果订阅者客户端仍处于离线状态,消息将被丢弃。但是,使用 Persisted History 功能,您可以将消息的保留时间增加到 24-72 小时。
不幸的是,截至目前,Ably 没有提供一种机制来在客户端仍然在线时从没有 activity 的频道分离。但是,此功能即将推出。请关注我们的 Engineering blog,我们 post 所有此类更新。
希望这能回答您的问题。