MQ常見面試題

2021-09-28 18:52:41 字數 498 閱讀 9347

訊息中介軟體

什麼是mq

為什麼要使用mq

1、如何避免訊息重複投遞和重複消費

在生產資料時,消自體中必須要有乙個bizid作為去重依據

在消費一條訊息的時候,自己判斷一下是否已經消費過了

2、訊息丟失,如何保證訊息的可靠性傳輸

訊息丟失,可能出現在生產者,mq,消費者;

生產者丟失:生產者傳送資料到mq的時候,可能因為網路問題半路搞丟了。

可以選擇mq的事務功能,但是會降低吞吐量;

可以使用mq的傳送確認模式,傳送訊息給mq之後等待mq回傳確認訊息,自己需要維護mq分配的唯一id

mq中丟失:mq開啟持久化,把訊息持久化到磁碟

消費者丟失:接收到訊息,還沒處理,程序掛掉了;

在訊息處理完成之後,向mq傳送確認訊息。

3、如何保證訊息的順序性

場景:乙個queue對應多個consumer,無法保證順序

保證順序:乙個queue對應乙個consumer

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...

常見面試題

1 一行 實現1 100之和 lst i for i in range 1,101 print sum lst 2 如何在乙個函式內部修改全域性變數?在函式內部新增 global 變數名 這樣就可以在本地作用域定義全域性作用域了 name 大明 def eat name1 global name n...

常見面試題

dns解析 發起tcp三次握手,並建立tcp連線 發起http請求 伺服器相應http請求並得到html 伺服器解析html 並對頁面進行渲染然後返回給使用者 首先先進行ioc容器的初始化 ioc 容器的初始化過程分為三步驟 resource 定位 beandefinition 的載入和解析,bea...