Direct Line BOT 中多个活动对话的 HTTP GET 轮询或 Websocket 连接

HTTP GET polling or Websocket connection for multiple active conversations in Direct Line BOT

我正在使用 directline 将 bot 与不同的渠道或聚合器(如 MessageBird、WeChat Line 等)集成。我的 BOT 可以发送多条消息作为响应。可以有 1000 多个唯一用户可以通过 Direct Line Bot 发送和接收消息。根据 document,我可以在开始对话后将这些消息发送给直线机器人。

我创建了一个中间层服务,它是 channels/aggregators 之间的连接器,例如 Line、Message Bird 等和直线机器人。我们计划使用 websocket 接口来接收来自 directline bot 的消息。我已经阅读了文档并且有以下问题:

  1. 我们是否需要为 每个 活动对话创建 websocket 或 HTTP GET 轮询以接收来自直线机器人的消息?
  2. 如果是,如果有许多活跃的正在进行的对话,比如 1000+,我们如何扩展这些 websockets 或轮询服务?

我见过类似的 post 但我没有选择不使用 Direct Line 连接机器人和 channels/aggregators.

如果您需要更多信息,请告诉我。感谢您的帮助!

您的问题回答如下:

  1. 是的,您确实需要为每个活动对话创建一个 websocket 或 HTTP GET 轮询以接收来自直线机器人的消息。活动的 websocket 或 HTTP GET 特定于 1 个对话,通常是 1 个用户的 1 次转换。

  2. 您不需要在频道端对此进行缩放。我们的服务将轻松处理该负载(对于数千个并发机器人)。但是,您需要适当地扩展您的客户端,这基本上是构建一个可扩展的 Web 服务。

希望这有帮助。