個(gè)人理解:
將具體業(yè)務(wù)和底層邏輯解耦的組件。
大致的效果是:
需要利用服務(wù)的人(前端寫(xiě)業(yè)務(wù)的),不需要知道底層邏輯(提供服務(wù)的)的具體實(shí)現,只要拿著(zhù)中間件結果來(lái)用就好了。
介于操作系統和應用程序之間的產(chǎn)品,中間件簡(jiǎn)單解釋?zhuān)憧梢岳斫鉃槊嫦蛐畔⑾到y交互,集成過(guò)程中的通用部分的集合,屏蔽了底層的通訊,交互,連接等復雜又通用化的功能,以產(chǎn)品的形式提供出來(lái),系統在交互時(shí),直接采用中間件進(jìn)行連接和交互即可,避免了大量的代碼開(kāi)發(fā)和人工成本。其實(shí),理論上來(lái)講,中間件所提供的功能通過(guò)代碼編寫(xiě)都可以實(shí)現,只不過(guò)開(kāi)發(fā)的周期和需要考慮的問(wèn)題太多,逐漸的,這些部分,以中間件產(chǎn)品的形式進(jìn)行了替代。
比如常見(jiàn)的消息中間件,即系統之間的通訊與交互的專(zhuān)用通道,類(lèi)似于郵局,系統只需要把傳輸的消息交給中間件,由中間件負責傳遞,并保證傳輸過(guò)程中的各類(lèi)問(wèn)題,如網(wǎng)絡(luò )問(wèn)題,協(xié)議問(wèn)題,兩端的開(kāi)發(fā)接口問(wèn)題等均由消息中間件屏蔽了,出現了網(wǎng)絡(luò )故障時(shí),消息中間件會(huì )負責緩存消息,以避免信息丟失。相當于你想給美國發(fā)一個(gè)郵包,只需要把郵包交給郵局,填寫(xiě)地址和收件人,至于運送過(guò)程中的一系列問(wèn)題你都不需要關(guān)心了。
舉個(gè)例子:
我開(kāi)了一家炸雞店(業(yè)務(wù)端),然而周邊有太多屠雞場(chǎng)(底層),為了成本我肯定想一個(gè)個(gè)比價(jià),再綜合質(zhì)量挑選一家屠雞場(chǎng)合作(適配不同底層邏輯)。由于市場(chǎng)變化,合作一段時(shí)間后,或許性?xún)r(jià)比最高的屠雞場(chǎng)就不是我最開(kāi)始選的了,我又要重新和另一家屠雞場(chǎng)合作,進(jìn)貨方式、交易方式等等全都要重來(lái)一套(重新適配)。然而我只想好好做炸雞,有性?xún)r(jià)比高的肉送來(lái)就行。于是我找到了一個(gè)專(zhuān)門(mén)整合屠雞場(chǎng)資源的第三方代理(中間件),跟他談好價(jià)格和質(zhì)量后(統一接口),從今天開(kāi)始,我就只需要給代理錢(qián),然后拿肉就行。代理負責保證肉的質(zhì)量,至于如何根據實(shí)際性?xún)r(jià)比,選擇不同的屠雞場(chǎng),那就是代理做的事了。
聯(lián)系客服