C# 试图理解Azure服务总线会话
所以我试图理解Azure服务总线会话ID,以便在队列中创建FIFO 我的想法很直截了当,但我不知道这是否是FIFO的正确方式 我在队列中创建FIFO的以下步骤中思考: 创建: 首先:检查队列中的消息及其会话ID,并公开ID层次结构 下一步:使用层次结构中的最新会话ID创建新消息,并将该值迭代1(+1) 下一步:发送到服务总线队列 阅读: 首先:检查队列中的消息及其会话ID,并公开ID层次结构 下一步:读取并删除层次结构中最早的会话ID 下一步:处理 请记住,我没有包括错误处理,例如读取和删除部分,因为我已经解决了这个问题 所以问题是,这是一种正确的思维方式,而且,我如何在C#中实现这一点?我真的找不到能够直接解释这一概念的东西 所以我试图理解Azure服务总线会话ID,以便在队列中创建FIFO 假设您已经阅读了上的文档,并且没有跳过和的链接示例,那么您会注意到后一个示例对会话如何操作进行了广泛的解释 您不需要“创建”FIFO队列,只需将其用于会话,这就是您实现所需的方式。会话有它们的用例。其中一个是您的场景,您有一个不确定的会话,其中只有一个会话ID,用于按顺序保存消息 注意:请注意这些限制(没有会影响吞吐量的并行处理) 我如何在C中实现这一点?我真的找不到能够直接解释这一概念的东西 较旧的客户机示例提供了与实现相关的问题的答案,并提供了非常可靠的细分和解释()。详细说明: 假设您总共有9条队列消息,这些消息分为三个会话,会话ID 1、2和3。然后将按顺序(先进先出)处理每组3条消息 但是,如果存在多个队列侦听器,则在会话之间或每组消息之间仍然可以发生并行性 存储所有9条消息的队列的每个侦听器/处理器都会锁定共享相同会话id的所有消息,然后一次处理一条消息,直到会话完成(通常是当队列中不再有具有该会话id的消息时,除非您关闭自动完成并决定在必要时手动关闭会话)C# 试图理解Azure服务总线会话,c#,session,fifo,sessionid,azure-servicebus-queues,C#,Session,Fifo,Sessionid,Azure Servicebus Queues,所以我试图理解Azure服务总线会话ID,以便在队列中创建FIFO 我的想法很直截了当,但我不知道这是否是FIFO的正确方式 我在队列中创建FIFO的以下步骤中思考: 创建: 首先:检查队列中的消息及其会话ID,并公开ID层次结构 下一步:使用层次结构中的最新会话ID创建新消息,并将该值迭代1(+1) 下一步:发送到服务总线队列 阅读: 首先:检查队列中的消息及其会话ID,并公开ID层次结构 下一步:读取并删除层次结构中最早的会话ID 下一步:处理 请记住,我没有包括错误处理,例如读取和删除部分
希望这是有意义的。在重新处理过程中,失败的消息会记住它们的会话ID吗?是的。SessionId被分配给每条消息。在3条消息中,哪一个会话首先被检索并锁定?(如果侦听器不超过1个)