很久都沒(méi)有寫博客了,從15年4月份一直忙到現(xiàn)在,我才有時(shí)間去做梳理和總結(jié),因?yàn)槲姨犭x職了,感覺(jué)整個(gè)世界突然變得不一樣,隨著而來(lái)的就是心情的放松,寫一篇文章也是對(duì)過(guò)去一年多工作的梳理,加深印象 積累和沉淀。
因?yàn)閺氖碌墓臼墙ㄖ袠I(yè)的公司,產(chǎn)品也是基于建筑管理體系,整體的項(xiàng)目包含了web端、客戶端、服務(wù)端,以及因?yàn)楫a(chǎn)品功能需要的一些工具類的軟件。在這種多系統(tǒng)的體系結(jié)構(gòu)之下,我們需要進(jìn)行多個(gè)系統(tǒng)之間的實(shí)時(shí)通訊,其實(shí)做到實(shí)時(shí)通訊的方式有很多種
1.sql server的Server_borker 數(shù)據(jù)變更通知,是基于sql server數(shù)據(jù)庫(kù)的,表中的數(shù)據(jù)變更會(huì)通知到監(jiān)聽的那端,但是覺(jué)得考慮到通訊比較頻繁,通訊端比較多,這種方式很容易造成代碼上和程序上的混亂,不做考慮。
2.wcf的消息廣播 相比第一種,這個(gè)對(duì)于這種多系統(tǒng)通訊更加不具備優(yōu)勢(shì)。這種在服務(wù)端進(jìn)行操作,客戶端通過(guò)注冊(cè)來(lái)監(jiān)聽服務(wù)端處理的進(jìn)度很明顯不適合兩個(gè)或者多個(gè)客戶端之間的通信,我們的系統(tǒng)可不僅僅限于客戶端服務(wù)端這么簡(jiǎn)單,不做考慮。
3..NetMQ 就是本章中要介紹的解決多系統(tǒng)通訊問(wèn)題的殺手锏了。這個(gè)其實(shí)在最開始是我們同事去下載研究的,在之后經(jīng)過(guò)一些包裝可以很方便的去使用,接下來(lái)我們?nèi)ヒ黄鹆私庖幌隆?
下載地址:http://www.codeproject.com/Articles/193611/DotNetMQ-A-Complete-Message-Queue-System-for-NET
簡(jiǎn)單的畫個(gè)圖可以更加方便的去了解這個(gè)結(jié)構(gòu)
通過(guò)這個(gè)圖我們可以看到,在多個(gè)客戶端通訊之前需要先開啟服務(wù),然后通過(guò)唯一性的token我們就可以做到客戶端之間的信息通訊。
下載下來(lái)的應(yīng)該是一個(gè)服務(wù)的啟動(dòng)程序和一個(gè)管理端,經(jīng)過(guò)包裝和更改更加方便使用一些:
兩個(gè)服務(wù)
1..NETMQ本身的服務(wù)
2.添加令牌的服務(wù),開放成對(duì)外的wcf接口,可以通過(guò)接口取添加令牌。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26
