日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Shuttle ESB(四)――發布訂閱模式實例介紹(1)

Shuttle ESB(四)――發布訂閱模式實例介紹(1)

來源:程序員人生   發布時間:2014-10-06 08:00:00 閱讀次數:2254次

前面,我已經集中用了三篇文章來講Shuttle ESB的入門實例與宏觀概念。Shuttle ESB一共有兩種發送消息的模式:請求/相應模式與Pub/Sub模式。


關于這兩種模式的區分,請看下面文章的介紹:Shuttle ESB(三)――架構模型介紹(2)


在Shuttle ESB的第一篇文章中,關于入門實例的介紹,是基于Command命令的請求響應模式。這種模式發送的消息比較簡單,是同步的。發送消息端與接收消息端的行為耦合性比較大。請求發送后,其他進程都會處于等待狀態,等待服務端返回響應信息后,客戶端才會進行其他行為。


PS:Shuttle ESB的Command模式與Pub/Sub模式完全類似于Ejb中的P2P與Pub/Sub。


然而,Pub/Sub模式將消息的發布端與訂閱端進行了充分的解耦。Pub端發送消息后,不用等待消息的返回,它可以選擇繼續發送或者停止發送。接收端如果想接收消息,只需訂閱該事件消息即可。

我們在項目中真正使用Shuttle ESB的時候,大多數情況下,我們會使用Pub/Sub模式。下面,我們就對這種模式進行講解。


注意:即便是基于命令的請求/相應模式,也可用發布訂閱的方式實現。


目前,Shuttle ESB只支持三種隊列:微軟的消息隊列MSMQ、SqlServer基于表的隊列和Rabbit MSMQ。Shuttle ESb的Pub/Sub模式,需要MSMQ和SqlServer基于表隊列兩種消息隊列進行實現。


關于基于SqlServer表隊列,我們大家可能會有疑義:使用SqlServer數據庫,不就限定了Shuttle ESB的適用范圍了嗎?

大家不必有此擔心。Shuttle ESB核心組件是不基于任何第三方組件的。將來它肯定會支持MySql和Oracle或者別的數據庫的。目前只是因為Eben沒有使用過Oracle,對Oracle還不是很熟悉,所以沒有做基于Oracle的隊列實現。當然他跟我提過多次,希望我為開源社區做點貢獻,在GitHub上給他貢獻點兒代碼。可是這個實現也不是一天兩天的事兒,我現在實在沒時間研究。這段兒時間又比較緊迫,我得考慮生計問題啊!得先活下來,在考慮做貢獻的事兒吧!過了年再說吧。


言歸正傳,我們繼續來介紹基于Pub/Sub模式的Demo實現。功能很簡單:

從消息發布端Pub發布一個消息事件OrderCompletedEvent,多個客戶端(如SubA和SubB)訂閱該事件OrderCompletedEvent。那么當Pub發布消息后,SubA和SubB就能夠收到該消息OrderCompletedEvent。

SubA和SubB接收到消息后,根據需要進行一定的處理。然后他們都會發布一個WorkDoneEvent事件消息。這次服務端訂閱WorkDoneEvent消息。當SubA和SubB發布WorkDoneEvent消息后,Pub端就能夠接收到該消息WorkDoneEvent。


PS:消息的發布端與訂閱端為什么使用兩個不同的消息呢?因為如果使用同一個消息的話,上面的實現,將會形成死循環。原因就是啟動的Shuttle ESB實例后,該實例會監聽一個或多個給定的消息隊列,如果發布端和訂閱端監聽聽一個隊列,就形成死循環了。


下面介紹一些開發實例的準備工作


1、安裝微軟消的息隊列:MSMQ

具體安裝請參見:Shuttle ESB(一):入門實例


2、創建數據庫并初始化數據庫表隊列

在SqlServer中創建數據庫:shuttle(可自定義數據庫名稱)。然后運行“{root}Shuttle.ESBsourceShuttle.ESB.SqlServerScriptsSubscriptionManagerCreate.sql”腳本(在源碼中,本例子中提供該腳本),創建以及初始化SqlServer表隊列。


3、安裝NuGet插件

它就是一款管理第三方dll的插件。關于NuGet的安裝、使用,網上有一大堆,這里我就不詳細介紹了。大家自己百度即可。


詳細實例,下篇文章繼續介紹。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 一级片久久| 亚洲激情视频 | 99精品国产九九国产精品 | 91视频在线网址 | 亚洲国产精品一区二区三区 | 黄色网页网站 | 欧美综合在线视频 | 黄色网zhan | 亚洲日本一区二区 | 国产精品不卡视频 | av成人免费 | 国产精品一区二区三区久久久 | 久久精品国产一区二区三区不卡 | 久久免费一区 | 精品成人av| 精品成人在线观看 | a视频网站 | 亚洲成人福利在线 | 日本午夜视频 | 成人欧美一区二区三区 | 国产一区二区三区在线免费观看 | 亚洲成人精品一区二区三区 | 国产一区精品视频 | 另类天堂 | 麻豆精品国产91久久久久久 | 日韩高清影片在线观看 | 538精品视频 | 国产精品美女久久久久 | 久久久成人av | 日本天堂在线 | 日本一区不卡 | 天天插天天插 | 操人视频网站 | 欧美精品入口 | 国产精品成人一区二区三区吃奶 | 国产精品久久久久久久久久妞妞 | 中文一区 | 日韩三级在线 | 日韩精品久久久 | 91你懂的 | 黄色大片电影 |