上篇博文中我們介紹了Azure Messaging的重復消息機制、At most once 和At least once.
Azure Messaging-ServiceBus Messaging消息隊列技術系列5-重復消息:at-least-once at-most-once
本文中我們主要研究并介紹Azure Messaging的消息回執(zhí)機制:實際應用場景:
同步收發(fā)場景下,消息生產者和消費者雙向應答模式,例如:張三寫封信送到郵局中轉站,然后李四從中轉站獲得信,然后在寫一份回執(zhí)信,放到中轉站,然后張三去取,當然張三寫信的時候就得寫明回信地址。還
有,生成訂單編號場景,發(fā)送一個生成訂單編號的消息,消息消費者接收生成訂單編號的消息,并通過消息回執(zhí)返回。
Azure Messaging的消息回執(zhí)機制主要通過:基于帶會話的Queue/Topic、SessionId、ReplyTo屬性來實現(xiàn)
在代碼實現(xiàn)中,我們需要:
1. 兩個工作線程,一個線程用于消息發(fā)送和接收回執(zhí)消息,一個線程用于消息接收和發(fā)送消息回執(zhí)。
2. 一個會話標識:ReceiptSession
3. 兩個隊列Queue:RequestQueue:發(fā)送消息、接收消息,ResponseQueue:發(fā)送回執(zhí)消息,接收回執(zhí)消息。
直接Show Code:
首先,我們在ServiceBusMQManager增加一個線程安全的創(chuàng)建帶回話的QueueClient方法:
延伸閱讀
學習是年輕人改變自己的最好方式