【ZMQ】jestonTX1-創(chuàng)新互聯(lián)

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括輝縣網(wǎng)站建設(shè)、輝縣網(wǎng)站制作、輝縣網(wǎng)頁制作以及輝縣網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,輝縣網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到輝縣省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!一、拯救世界

如何解釋ZMQ?有些人會先說一堆ZMQ的好:它是一套用于快速構(gòu)建的套接字組件;它的信箱系統(tǒng)有超強(qiáng)的路由能力;它太快了!而有些人則喜歡分享他們被ZMQ點(diǎn)悟的時(shí)刻,那些被靈感擊中的瞬間:所有的事情突然變得簡單明了,讓人大開眼界。另一些人則會拿ZMQ同其他產(chǎn)品做個(gè)比較:它更小,更簡單,但卻讓人覺得如此熟悉。對于我個(gè)人而言,我則更傾向于和別人分享ZMQ的誕生史,相信會和各位讀者有所共鳴。

編程是一門科學(xué),但往往會喬裝成一門藝術(shù)。我們從不去了解軟件最底層的機(jī)理,或者說根本沒有人在乎這些。軟件并不只是算法、數(shù)據(jù)結(jié)構(gòu)、編程語言、或者抽象云云,這些不過是一些工具而已,被我們創(chuàng)造、使用、最后拋棄。軟件真正的本質(zhì),其實(shí)是人的本質(zhì)。

舉例來說,當(dāng)我們遇到一個(gè)高度復(fù)雜的問題時(shí),我們會群策群力,分工合作,將問題拆分為若干個(gè)部分,一起解決。這里就體現(xiàn)了編程的科學(xué):創(chuàng)建一組小型的構(gòu)建模塊,讓人們易于理解和使用,那么大家就會一起用它來解決問題。

我們生活在一個(gè)普遍聯(lián)系的世界里,需要現(xiàn)代的編程軟件為我們做指引。所以,未來我們所需要的用于處理大規(guī)模計(jì)算的構(gòu)建模塊,必須是普遍聯(lián)系的,而且能夠并行運(yùn)作。那時(shí),程序代碼不能再只關(guān)注自己,它們需要互相交流,變得足夠健談。程序代碼需要像人腦一樣,數(shù)以兆計(jì)的神經(jīng)元高速地傳輸信號,在一個(gè)沒有中央控制的環(huán)境下,沒有單點(diǎn)故障的環(huán)境下,解決問題。這一點(diǎn)其實(shí)并不意外,因?yàn)榫彤?dāng)今的網(wǎng)絡(luò)來講,每個(gè)節(jié)點(diǎn)其實(shí)就像是連接了一個(gè)人腦一樣。

如果你曾和線程、協(xié)議、或網(wǎng)絡(luò)打過交道,你會覺得我上面的話像是天方夜譚。因?yàn)樵趯?shí)際應(yīng)用過程中,只是連接幾個(gè)程序或網(wǎng)絡(luò)就已經(jīng)非常困難和麻煩了。數(shù)以兆計(jì)的節(jié)點(diǎn)?那真是無法想象的。現(xiàn)今只有資金雄厚的企業(yè)才能負(fù)擔(dān)得起這種軟件和服務(wù)。

當(dāng)今世界的網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)遠(yuǎn)遠(yuǎn)超越了我們自身的駕馭能力。二十世紀(jì)八十年代的軟件危機(jī),弗萊德?布魯克斯曾說過,這個(gè)世上沒有銀彈。后來,免費(fèi)和開源解決了這次軟件危機(jī),讓我們能夠高效地分享知識。如今,我們又面臨一次新的軟件危機(jī),只不過我們談?wù)摰貌欢唷V挥心切┐笮偷?、富足的企業(yè)才有財(cái)力建立高度聯(lián)系的應(yīng)用程序。那里有云的存在,但它是私有的。我們的數(shù)據(jù)和知識正在從我們的個(gè)人電腦中消失,流入云端,無法獲得或與其競爭。是誰坐擁我們的社交網(wǎng)絡(luò)?這真像一次巨型主機(jī)的革命。

我們暫且不談其中的政治因素,光那些就可以另外出本書了。目前的現(xiàn)狀是,雖然互聯(lián)網(wǎng)能夠讓千萬個(gè)程序相連,但我們之中的大多數(shù)卻無法做到這些。這樣一來,那些真正有趣的大型問題(如健康、教育、經(jīng)濟(jì)、交通等領(lǐng)域),仍然無法解決。我們沒有能力將代碼連接起來,也就不能像大腦中的神經(jīng)元一樣處理那些大規(guī)模的問題。

已經(jīng)有人嘗試用各種方法來連接應(yīng)用程序,如數(shù)以千計(jì)的IETF規(guī)范,每種規(guī)范解決一個(gè)特定問題。對于開發(fā)人員來說,HTTP協(xié)議是比較簡單和易用的,但這也往往讓問題變得更糟,因?yàn)樗膭?lì)人們形成一種重服務(wù)端、輕客戶端的思想。

所以迄今為止人們還在使用原始的TCP/UDP協(xié)議、私有協(xié)議、HTTP協(xié)議、網(wǎng)絡(luò)套接字等形式連接應(yīng)用程序。這種做法依舊讓人痛苦,速度慢又不易擴(kuò)展,需要集中化管理。而分布式的P2P協(xié)議又僅僅適用于娛樂,而非真正的應(yīng)用。有誰會使用Skype或者Bittorrent來交換數(shù)據(jù)呢?

這就讓我們回歸到編程科學(xué)的問題上來。想要拯救這個(gè)世界,我們需要做兩件事情:一,如何在任何地點(diǎn)連接任何兩個(gè)應(yīng)用程序;二、將這個(gè)解決方案用最為簡單的方式包裝起來,供程序員使用。

也許這聽起來太簡單了,但事實(shí)確實(shí)如此。

二、ZeroMQ簡述

ZeroMQ是一種基于消息隊(duì)列的多線程網(wǎng)絡(luò)庫,其對套接字類型、連接處理、幀、甚至路由的底層細(xì)節(jié)進(jìn)行抽象,提供跨越多種傳輸協(xié)議的套接字。引用云風(fēng)的話來說:ZeroMQ 并不是一個(gè)對 socket 的封裝,不能用它去實(shí)現(xiàn)已有的網(wǎng)絡(luò)協(xié)議。它有自己的模式,不同于更底層的點(diǎn)對點(diǎn)通訊模式。它有比 tcp 協(xié)議更高一級的協(xié)議。(當(dāng)然 ZeroMQ 不一定基于 TCP 協(xié)議,它也可以用于進(jìn)程間和進(jìn)程內(nèi)通訊)它改變了通訊都基于一對一的連接這個(gè)假設(shè)。ZeroMQ 把通訊的需求看成四類。其中一類是一對一結(jié)對通訊,用來支持傳統(tǒng)的 TCP socket 模型,但并不推薦使用。常用的通訊模式只有三類:

請求回應(yīng)模型。由請求端發(fā)起請求,并等待回應(yīng)端回應(yīng)請求。從請求端來看,一定是一對對收發(fā)配對的;反之,在回應(yīng)端一定是發(fā)收對。請求端和回應(yīng)端都可以是 1:N 的模型。通常把 1 認(rèn)為是 server ,N 認(rèn)為是 Client 。ZeroMQ 可以很好的支持路由功能(實(shí)現(xiàn)路由功能的組件叫作 Device),把 1:N 擴(kuò)展為 N:M (只需要加入若干路由節(jié)點(diǎn))。從這個(gè)模型看,更底層的端點(diǎn)地址是對上層隱藏的。每個(gè)請求都隱含有回應(yīng)地址,而應(yīng)用則不關(guān)心它。

發(fā)布訂閱模型。這個(gè)模型里,發(fā)布端是單向只發(fā)送數(shù)據(jù)的,且不關(guān)心是否把全部的信息都發(fā)送給訂閱端。如果發(fā)布端開始發(fā)布信息的時(shí)候,訂閱端尚未連接上來,這些信息直接丟棄。不過一旦訂閱端連接上來,中間會保證沒有信息丟失。同樣,訂閱端則只負(fù)責(zé)接收,而不能反饋。如果發(fā)布端和訂閱端需要交互(比如要確認(rèn)訂閱者是否已經(jīng)連接上),則使用額外的 socket 采用請求回應(yīng)模型滿足這個(gè)需求。

管道模型。這個(gè)模型里,管道是單向的,從 PUSH 端單向的向 PULL 端單向的推送數(shù)據(jù)流。

三、源碼包獲取

獲取源碼包

ZeroMQ | Download

https://github.com/zeromq/zeromq.org

git clone https://github.com/zeromq/zeromq.org

獲取文檔支持

Distributed Messaging - zeromq

四、編譯安裝

獲取源碼包后,解壓后的文件內(nèi)容為:

sudo apt-get update
tar -zxvf zeromq-4.3.4.tar.gz 
./configure
make 
sudo make install
sudo ldconfig

安裝python支持

#安裝zeromq的Python支持
sudo apt-get install python-pip
sudo pip install pyzmq

安裝完畢后,所有的庫都默認(rèn)在下面位置

/usr/local/lib

程序變異種,連接到這個(gè)位置即可。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享標(biāo)題:【ZMQ】jestonTX1-創(chuàng)新互聯(lián)
標(biāo)題來源:http://muchs.cn/article34/ceesse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站自適應(yīng)網(wǎng)站、電子商務(wù)、標(biāo)簽優(yōu)化App設(shè)計(jì)、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管