訊息佇列和發布訂閱

2022-02-18 11:28:04 字數 1412 閱讀 1432

事實上,發布訂閱真的與開發語言沒有什麼關係,所以出現了另一種產品,訊息中介軟體,或者叫訊息佇列,它是以發布訂閱模式為理論基礎的,同時很多訊息佇列產品又有自己的特色,這種獨立的訊息佇列我們為rabbitmq為例子。

**解耦,發布者與訂閱者可以互不關心

非同步處理,整合元件有的是同步的,需要加@async註解

訊息安全

rabbitmq實現的是多服務之間的發布與訂閱

整合元件實現的是乙個服務內部的發布與訂閱

rabbitmq是非同步的,整合元件可以是非同步,也可以是同步

rabbitmq可以有廣播,點對點等模式,而整合元件只有廣播模式

基於以上的介紹,主要幫助大家理解和認識,在什麼時候用什麼型別的工具。

訂閱

@getter

@builder(tobuilder = true)

@noargsconstructor

@allargsconstructor

public class createbookevent

@component

public class emaileventlistener

}

發布

@autowired

public void publish()

訂閱

@slf4j

@component

public class distributorsubscriber

@bean

public queue phonetotalqueue()

@bean

public binding bindsignqueue()

@rabbitlistener(queues = work_queue)

public void phonetotalqueuelistener(string data) ", data);

distributoractivitytotal entity =

distributoractivitytotalrepository.incupdate(entity);

} catch (exception ex)

}

發布

@autowired

private rabbittemplate rabbittemplate;

public void modifysalesperson(salespersondto salespersondto) ,message:{}", "modifysalesperson", salespersondto.tostring());

} catch (exception ex)

}

訊息佇列 點對點與發布訂閱區別

jms規範目前支援兩種訊息模型 點對點 point to point,queue 和發布 訂閱 publish subscribe,topic 訊息生產者生產訊息傳送到queue中,然後訊息消費者從queue中取出並且消費訊息。這裡要注意 訊息被消費以後,queue中不再有儲存,所以訊息消費者不可能...

redis訊息訂閱和發布例項

發布訂閱 pub sub 是一種訊息通訊模式,主要目的是解除訊息發布者 訊息訂閱者之間的耦合 pub sub的特點 2 發布者和訂閱者不必相互知道對方所在的位置 3 發布者 訂閱者是非同步模式,發布者可不斷地生產訊息,訂閱者則可非同步地得到訊息通知 pub sub的使用場景 即時聊天 訊息推送 非同...

mysql訊息訂閱與發布 發布 訂閱配置

public ibus bus public void handle mymessage message bus.publish e e.someproperty xyz 公共汽車 屬性將自動由基礎設施。這就是所謂的 依賴注入 所有開發完成了nservicebus利用這些模式。技術作為nservic...