我们正在多个服务器上部署一个聊天机器人。如果用户发送2条消息到达不同的服务器,我希望确保消息按顺序处理,并且一次处理一条。在V3中,我能够在Redis和RedLock.net的支持下实现一个自定义的IScope类来支持这种行为。这在V4中是如何工作的?
发布于 2019-01-18 05:14:34
dotnet Bot Builder SDK V4没有在内部提供启用悲观锁定或确保消息按顺序处理的机制。但是,您很可能会在V4机器人的OnTurn中利用您的Redis租借实现。
我们在这里提供了一个向外扩展的示例:42. Scale Out,但是,它使用了ETag乐观锁定策略,不能确保消息处理顺序。
另一种选择可能是在机器人前面使用带有Queue Based Load Leveling策略的服务总线。
https://stackoverflow.com/questions/53832138
复制相似问题