代码之家  ›  专栏  ›  技术社区  ›  Szymon Rozga

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

  •  1
  • Szymon Rozga  · 技术社区  · 6 年前

    我们正在跨多个服务器部署聊天机器人。如果一个用户发送的两条消息击中了不同的服务器,我想确保这些消息按顺序处理,一次一条。在V3中,我能够实现一个定制的 IScope RedLock.net . 这在V4中是如何工作的?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Eric Dahlvang    6 年前

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

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

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