botframework - 如何确保多个 Bot Builder V4 机器人实例一次处理一条用户消息?

标签 botframework

我们正在跨多个服务器部署聊天机器人。如果用户发送 2 条消息到达不同的服务器,我想确保这些消息按顺序处理,并且一次处理一条。在 V3 中,我能够实现自定义 IScope类来支持此行为,由 Redis 和 RedLock.net 支持。这在 V4 中如何工作?

最佳答案

dotnet Bot Builder SDK V4 不提供内部启用悲观锁定或确保按顺序处理消息的机制。但是,您很可能可以在 V4 机器人的 OnTurn 中利用 Redis 租赁实现。

我们确实在此处提供了横向扩展示例:42. Scale Out但是,它使用了 ETag 乐观锁定策略,不能保证消息处理顺序。

另一种选择可能是将服务总线与 Queue Based Load Leveling 一起使用。机器人面前的策略。

关于botframework - 如何确保多个 Bot Builder V4 机器人实例一次处理一条用户消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53832138/

相关文章:

node.js - 错误: Activity resulted into multiple skype activities bot FrameWork

c# - 在 Azure 中将机器人从 Node 更改为 C#

java - 我的消息在 BotFramework - Java 中未按正确的顺序发送

c# - 在 Bot Framework 中使用 FormFlow 对话框

azure - 将 C# Teams 消息传递扩展 (Bot) 部署到 Azure 的其他步骤?

c# - Microsoft bot 服务在本地运行良好,但在网络聊天 channel 中运行不佳

c# - Telegram Bot 无法接收 preCheckoutQuery 更新

c# - 如何使用 Bot Builder (C# SDK) 中的 RView 工具本地化表单流中的字符串

azure - Bot Framework SDK4 - 'deploy.cmd' 未被识别为内部或外部命令、可操作程序或批处理文件

c# - [机器人框架] : How to fix:Welcome message is not getting displayed to the user in C# WebChatBot developed in V4 but displayed in Emulator?