首页 > 解决方案 > Direct Line BOT 中多个活动对话的 HTTP GET 轮询或 Websocket 连接

问题描述

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

我创建了一个中间层服务,它是 Line、Message Bird 等渠道/聚合器与直线机器人之间的连接器。我们计划使用 websocket 接口来接收来自 directline bot 的消息。我浏览了文档,我有以下问题:

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

我在这里看到过类似的帖子,但我没有选择不使用 Direct Line 连接 Bot 和渠道/聚合器。

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

标签: websocketbotframeworkpollingazure-bot-servicedirect-line-botframework

解决方案


您的问题的答案如下:

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

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

希望这会有所帮助。


推荐阅读