-
step1. 數(shù)據(jù)入庫同時消息(msg)入庫
step2.發(fā)送消息
step3.請求確認(rèn) confirm
step4.讀取數(shù)據(jù)庫msg消息修改狀態(tài)status:1
step5.但發(fā)送消息網(wǎng)絡(luò)中斷,通過定時任務(wù)查詢狀態(tài)為status:0的消息
step6.抓取消息,重新投遞
step7.最大嘗試次數(shù) 3次 不能成功則狀態(tài)修改為2。
查看全部 -
@Component
public class ContentInfoSender {
? ?@Autowired
? ?private RabbitTemplate rabbitTemplate;
? ?public void sendContentInfo(ContentInfo contentInfo){
? ? ? ?rabbitTemplate.convertAndSend(Constants.CONTENTEXCHANGE,Constants.CONTENTQUEUE + contentInfo.getMsgInfo().getAcceptUserId(),contentInfo);
? ?}
}查看全部 -
<!--整合rabbitmq-->
<dependency>
? ?<groupId>org.springframework.boot</groupId>
? ?<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>rabbitmq:
?host:
?port: 5672
?username:
?password:
?virtual-host:
?connection-timeout:查看全部 -
手工簽收模式必須依賴于channel
查看全部 -
topic模式,模糊匹配
查看全部 -
發(fā)送消息的方法介紹convertAndSend
查看全部 -
消息的優(yōu)先級,延遲等
查看全部 -
課程總結(jié)
查看全部 -
RabbitMQ簡介
查看全部 -
課程大綱
查看全部 -
設(shè)計方案
查看全部 -
1
查看全部 -
1
查看全部 -
整體架構(gòu)
Server:又稱為Broker,接受客戶端的連接,實(shí)現(xiàn)AMQP實(shí)體服務(wù)
Connection:連接,應(yīng)用程序與Broker的網(wǎng)絡(luò)連接
Channel:網(wǎng)絡(luò)信道,幾乎所有的操作都在Channel中進(jìn)行,Channel是進(jìn)行消息讀寫的通道??蛻舳丝山⒍鄠€channel,每個Channel代表一個會話任務(wù)。
Message:消息。服務(wù)器和應(yīng)用程序之間傳送的數(shù)據(jù),由Properties和Body組成。Properties可以對消息進(jìn)行修飾,比如消息的優(yōu)先級,延遲等高級特性;Body則是消息體內(nèi)容。
Virtual host:虛擬地址,用于進(jìn)行邏輯隔離,最上層的消息路由。一個Virtual Host里面可以有若干個Exchange和Queue,同一個Virtual Host里面不能有相同名稱的Exchange或queue
Exchange:交換機(jī),接收消息,根據(jù)路由鍵轉(zhuǎn)發(fā)消息到綁定的隊列。
Binding: Exchange 和Queue之間的虛擬連接,binding中可含有routing key。
Routing key: 一個路由規(guī)則,虛擬機(jī)可用它來確定如何路由一個特定消息。
Queue: 也稱為Message Queue,消息隊列,保持消息并將他們轉(zhuǎn)發(fā)給消費(fèi)者。
消息如何流轉(zhuǎn)
生成者指定發(fā)送的Exchange和routing key,并發(fā)送信息到Exchange
exchange根據(jù)routing key ,把消息放到對應(yīng)的Message Queue
消費(fèi)者根據(jù)監(jiān)聽的Message Queue,來進(jìn)行消費(fèi)。
消息如何流轉(zhuǎn)
1、生成者指定發(fā)送的Exchange和routing key,并發(fā)送信息到Exchange
2、exchange根據(jù)routing key ,把消息放到對應(yīng)的Message Queue
3、消費(fèi)者根據(jù)監(jiān)聽的Message Queue,來進(jìn)行消費(fèi)。
查看全部 -
? 消息隊列測試
查看全部
舉報