很久都沒有寫博客了,從15年4月份一直忙到現(xiàn)在,我才有時間去做梳理和總結(jié),因為我提離職了,感覺整個世界突然變得不一樣,隨著而來的就是心情的放松,寫一篇文章也是對過去一年多工作的梳理,加深印象 積累和沉淀。

因為從事的公司是建筑行業(yè)的公司,產(chǎn)品也是基于建筑管理體系,整體的項目包含了web端、客戶端、服務(wù)端,以及因為產(chǎn)品功能需要的一些工具類的軟件。在這種多系統(tǒng)的體系結(jié)構(gòu)之下,我們需要進行多個系統(tǒng)之間的實時通訊,其實做到實時通訊的方式有很多種

1.sql server的Server_borker    數(shù)據(jù)變更通知,是基于sql server數(shù)據(jù)庫的,表中的數(shù)據(jù)變更會通知到監(jiān)聽的那端,但是覺得考慮到通訊比較頻繁,通訊端比較多,這種方式很容易造成代碼上和程序上的混亂,不做考慮。

2.wcf的消息廣播   相比第一種,這個對于這種多系統(tǒng)通訊更加不具備優(yōu)勢。這種在服務(wù)端進行操作,客戶端通過注冊來監(jiān)聽服務(wù)端處理的進度很明顯不適合兩個或者多個客戶端之間的通信,我們的系統(tǒng)可不僅僅限于客戶端服務(wù)端這么簡單,不做考慮。

3..NetMQ 就是本章中要介紹的解決多系統(tǒng)通訊問題的殺手锏了。這個其實在最開始是我們同事去下載研究的,在之后經(jīng)過一些包裝可以很方便的去使用,接下來我們?nèi)ヒ黄鹆私庖幌隆?

下載地址:http://www.codeproject.com/Articles/193611/DotNetMQ-A-Complete-Message-Queue-System-for-NET

簡單的畫個圖可以更加方便的去了解這個結(jié)構(gòu)

通過這個圖我們可以看到,在多個客戶端通訊之前需要先開啟服務(wù),然后通過唯一性的token我們就可以做到客戶端之間的信息通訊。

下載下來的應(yīng)該是一個服務(wù)的啟動程序和一個管理端,經(jīng)過包裝和更改更加方便使用一些:

兩個服務(wù)

1..NETMQ本身的服務(wù)

2.添加令牌的服務(wù),開放成對外的wcf接口,可以通過接口取添加令牌。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式