常见的中间件以及什么是中间件
常見(jiàn)的中間件以及什么是中間件
- 1. 中間件是什么
- 2. 為什么要用中間件
- 3. 中間件的使用場(chǎng)景
- 4. 主要的中間件的分類
1. 中間件是什么
中間件顧名思義就是系統(tǒng)軟件和應(yīng)用軟件之間連接的軟件,以便于軟件各部件之間的溝通,特別是應(yīng)用軟件對(duì)于系統(tǒng)軟件的集中的邏輯,是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源。中間件在客戶服務(wù)器的操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信。總的作用是處于自己上層的應(yīng)用軟件提供運(yùn)行與開(kāi)發(fā)的環(huán)境、幫助用戶靈活、高效地開(kāi)發(fā)和集成復(fù)雜的應(yīng)用軟件。
我們可以這樣理解:就是一類能夠?yàn)橐环N或多種應(yīng)用程序合作互通、資源共享,同時(shí)還能為該應(yīng)用程序提供相關(guān)的服務(wù)的軟件。中間件是一類軟件統(tǒng)稱,而非一種軟件;中間件不僅僅實(shí)現(xiàn)互連,還要實(shí)現(xiàn)應(yīng)用之間的互操作。
2. 為什么要用中間件
具體地說(shuō),中間件屏蔽了底層操作系統(tǒng)的復(fù)雜性,使程序開(kāi)發(fā)人員面對(duì)一個(gè)簡(jiǎn)單而統(tǒng)一的開(kāi)發(fā)環(huán)境,減少程序設(shè)計(jì)的復(fù)雜性,將注意力集中在自己的業(yè)務(wù)上,不必再為程序在不同系統(tǒng)軟件上的移植而重復(fù)工作、從而大大減少了技術(shù)上的負(fù)擔(dān)。
中間件帶給應(yīng)用系統(tǒng)的,不只是開(kāi)發(fā)的簡(jiǎn)便、開(kāi)發(fā)周期的縮短,也減少了系統(tǒng)的維護(hù)、運(yùn)行和管理的工作量,還減少了計(jì)算機(jī)總體費(fèi)用的投入。
3. 中間件的使用場(chǎng)景
例如A系統(tǒng)給B系統(tǒng)發(fā)消息,A系統(tǒng)給C系統(tǒng)發(fā)消息,為了系統(tǒng)A不在隨意修改,則可以A系統(tǒng)發(fā)消息給消息中間件,消息中間件轉(zhuǎn)發(fā)消息給系統(tǒng)B系統(tǒng)C,也方便后面需要添加系統(tǒng)D,進(jìn)行消息交互,如果將來(lái)很多系統(tǒng)進(jìn)行信息交互時(shí),則可以考慮添加消息中間件進(jìn)行消息轉(zhuǎn)發(fā)。
A系統(tǒng)發(fā)消息給B系統(tǒng),B在進(jìn)行消息處理,不用及時(shí)回復(fù)A,則可以考慮加消息中間件,A只管發(fā)消息給中間鍵,B從中間件取出消息進(jìn)行處理返回給A,消息中間件進(jìn)行消息緩存,B異步讀取處理。
如雙十一開(kāi)啟個(gè)秒殺活動(dòng),會(huì)有大量請(qǐng)求消息,如果服務(wù)器處理所有消息的請(qǐng)求顯然是不太合理的,秒殺結(jié)果只有少數(shù)人能得到,多數(shù)人是無(wú)效的請(qǐng)求,中間件緩存請(qǐng)求,后端服務(wù)器只需要取部分請(qǐng)求恢復(fù)處理即可。
4. 主要的中間件的分類
當(dāng)一個(gè)大任務(wù)由一臺(tái)機(jī)器在規(guī)定的時(shí)間內(nèi)不能完成時(shí),人們就要采用分布式計(jì)算,即多臺(tái)機(jī)器聯(lián)合起來(lái)共同完成此任務(wù)。換句話說(shuō),就是將這個(gè)任務(wù)拆分成幾個(gè)小人物,由多臺(tái)計(jì)算機(jī)去完成。參與計(jì)算的多臺(tái)計(jì)算機(jī)組成一個(gè)分布式系統(tǒng),需要運(yùn)行一系列的分布式基礎(chǔ)算法。
Hadoop就是一個(gè)分布式計(jì)算平臺(tái),是用Java語(yǔ)言開(kāi)發(fā)的,他的三個(gè)核心部件分別是:Common、MapReduce和HDFS三個(gè)核心部件
- Common為Hadoop提供一些常用的工具,主要包括系統(tǒng)配置工具Configuration、遠(yuǎn)程過(guò)程調(diào)用RPC/序列化機(jī)制和Hadoop抽象文件系統(tǒng)等。
- MapReduce是處理海量數(shù)據(jù)的計(jì)算模型
- 而HDFS用于儲(chǔ)存海量數(shù)據(jù),它具備高度容錯(cuò)性,能在低成本的通用硬件上穩(wěn)定運(yùn)行。
用 Hadoop 構(gòu)建的應(yīng)用實(shí)例對(duì)于計(jì)算資源的消耗具備兩個(gè)明顯的特征:
- 資源需求大:表明 Hadoop 需要大量的存儲(chǔ)、計(jì)算和網(wǎng)絡(luò)帶寬。
- 資源需求具備季節(jié)性:表明除存儲(chǔ)需求是經(jīng)常性占用外,在運(yùn)行 Mapreduce 時(shí)才需要大量的計(jì)算和網(wǎng)絡(luò)資源,而分析大量數(shù)據(jù)的工作并不是經(jīng)常性的——稱為季節(jié)性
LVS
LVS是linux Virtual server的首字母縮寫(xiě),意為L(zhǎng)inux虛擬服務(wù)器,即把許多臺(tái)物理 Linux 計(jì)算機(jī)邏輯上整合成一臺(tái)超級(jí)計(jì)算機(jī),但對(duì)用戶來(lái)說(shuō)只是一臺(tái)計(jì)算能力很強(qiáng)的服務(wù)器
LVS就是一個(gè)由軟件實(shí)現(xiàn)的負(fù)載均衡器,工作在網(wǎng)絡(luò) OSI 的第四層(應(yīng)用層),代碼已經(jīng)并入了 Linux 內(nèi)核。利用它,再加上一臺(tái)廉價(jià)的計(jì)算機(jī),就能構(gòu)建一臺(tái)企業(yè)級(jí)的負(fù)載均衡器。
靜態(tài)網(wǎng)站服務(wù)器
我們?yōu)g覽一家公司的網(wǎng)站時(shí),很可能就是跟那家公司服務(wù)器上的 Apache 程序打交道,網(wǎng)頁(yè)瀏覽器與 Apache 成了標(biāo)準(zhǔn)的 C/S 模式,瀏覽器是客戶端,而 Apache 是服務(wù)端。Apache 首先把主頁(yè)對(duì)應(yīng)的文件 index.html 發(fā)給我們,我們看到主頁(yè)內(nèi)容后,點(diǎn)擊主頁(yè)上的某個(gè)鏈接,它又把該鏈接對(duì)應(yīng)的文件發(fā)給我們。
動(dòng)態(tài)應(yīng)用服務(wù)器
開(kāi)源的動(dòng)態(tài)應(yīng)用服務(wù)器有 JBoss、Tomcat、Geronimo、JOnAS等
總結(jié)
以上是生活随笔為你收集整理的常见的中间件以及什么是中间件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: qrcode.js生成微信二维码
- 下一篇: 【soft6星评论】站在5G时代的入口,