嗨有人可以向我解释一下这个连接器中的会话ID 是用来做什么的。还有为什么它是可选的。
据我了解,这用于关闭与sessionID相关的消息?
还是关闭整个会话? ID它会关闭服务总线队列中所有相关消息的会话吗?
问候/约翰
答案 0 :(得分:1)
会话ID的目的是维护队列中消息之间的排序。
假设有多个服务同时从哈利波特书中转储文本,服务发送的序列字将在队列中交错。此外,只要其中一个服务完成阅读一本书,它就会继续启动下一本书,而这本书并未被任何其他服务阅读。您如何识别给定消息来自给定的书籍。
此处会话ID开始起作用,一旦服务开始读取某本书,它将决定一个新的唯一会话ID,并将其分配给它读取它的每个单词(即它发送给队列的消息)从那本书。这样,当您的客户端读取队列中的消息时,它可以获取一个特定的会话ID值并继续阅读带有该会话ID的消息。这样,即使队列中的文字都是从不同的书中混淆,你的客户也不会混淆书籍,并且会保留阅读单词的顺序。
此外,正在读取具有特定会话ID的消息的客户端将锁定具有该会话ID的所有到达的消息(以及将来到达的消息)。因此,其他客户不会阅读这些消息。也就是说,您可以让多个客户端并行运行,从不同的书籍中读取文本而不会混淆。
锁定令牌是用于完成邮件的值。
阅读本文以获取更多信息:Message sessions: first in, first out (FIFO)