成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

中間件的過去、現(xiàn)在和未來

開發(fā)
中間件不應(yīng)該僅僅作為一個面向?qū)ο蟮慕鉀Q方案來執(zhí)行簡單的請求-響應(yīng)命令。中間件可以通過結(jié)合微服務(wù)架構(gòu)來通過多個網(wǎng)關(guān)整合推拉事件和數(shù)據(jù)流,以開發(fā)一個整體的去中心化生態(tài)系統(tǒng)。

在計算機(jī)科學(xué)中,系統(tǒng)通常分為兩類:軟件和硬件。但是,中間還有一個附加層,稱為中間件,它是一個軟件“管道”,是操作系統(tǒng)和最終用戶之間的操作、進(jìn)程或應(yīng)用程序。本文旨在定義中間件并反思其必要性,并解決關(guān)于何時何地應(yīng)用的爭議。它還探討了中間件在云計算和 IoT(物聯(lián)網(wǎng))等新興技術(shù)中的應(yīng)用,以及未來中間件的發(fā)展。

該術(shù)語是在 1980 年代初期引入的。它包含復(fù)雜的軟件解決方案,通過軟件和應(yīng)用程序組件等新功能對遺留系統(tǒng)(通常是大型機(jī))進(jìn)行現(xiàn)代化改造。最初,它僅用于擴(kuò)展分離網(wǎng)絡(luò)層和應(yīng)用層的中間層。隨后,它的用途擴(kuò)大到作為操作系統(tǒng)和網(wǎng)絡(luò)層之上,應(yīng)用層之下的層。這意味著中間件現(xiàn)在可以促進(jìn)應(yīng)用程序組件和分布式網(wǎng)絡(luò)之間的常規(guī)通信。

通過中間件,程序員可以選擇實(shí)施松耦合的解決方案,而不必交互和分析不同的組件。

在最近的文獻(xiàn)3,12,14,16根據(jù)研究領(lǐng)域,使用了多種定義。一方面,軟件和 DevOps 工程師都將中間件描述為通過不同系統(tǒng)組件將軟件“粘合”在一起的層;另一方面,網(wǎng)絡(luò)工程師會說中間件是網(wǎng)絡(luò)連接的容錯和錯誤檢查集成。換句話說,他們會將中間件定義為通信管理軟件。與此同時,數(shù)據(jù)工程師將中間件視為一種技術(shù),負(fù)責(zé)協(xié)調(diào)、觸發(fā)和編排動作,以處理和發(fā)布來自各種來源的數(shù)據(jù),利用大數(shù)據(jù)和 IoT(物聯(lián)網(wǎng))。鑒于中間件沒有統(tǒng)一的定義,最好采用特定領(lǐng)域的方式。

中間件主要分類

交易。處理多個同步/異步交易,充當(dāng)來自分布式系統(tǒng)(如銀行交易或信用卡支付)的關(guān)聯(lián)請求的粘合層。

  • 面向消息。消息隊列和消息傳遞架構(gòu),支持同步/異步通信。第一個操作基于使用隊列來處理信息的原則,而第二個通常以發(fā)布/訂閱模式操作,通過中間代理促進(jìn)通信。
  • 程序。用于連接、傳遞和檢索異步通信(例如調(diào)用操作)的軟件響應(yīng)的遠(yuǎn)程和本地架構(gòu)。具體來說,第一種架構(gòu)調(diào)用網(wǎng)絡(luò)中另一臺計算機(jī)的預(yù)定服務(wù),而第二種架構(gòu)僅與本地軟件組件交互。
  • 面向?qū)ο蟆Ec過程中間件類似,這種類型的中間件結(jié)合了面向?qū)ο蟮木幊淘O(shè)計原則。從分析上講,它的軟件組件包括對象引用、異常和通過分布式對象請求的屬性繼承。它通常同步使用,因為它需要從服務(wù)器對象接收響應(yīng)來處理客戶端操作。重要的是,這種類型的中間件還可以通過使用(多)線程和通常的并發(fā)編程來支持異步通信。

學(xué)術(shù)界根據(jù)其服務(wù)的應(yīng)用程序模塊進(jìn)一步隔離了中間件,例如數(shù)據(jù)庫、Web 服務(wù)器等。中間件有幾種類型,分為以下關(guān)鍵類別:反射、代理、數(shù)據(jù)庫、嵌入式、門戶網(wǎng)站和設(shè)備(或機(jī)器人)。

  • 首先,反射中間件構(gòu)成了專門設(shè)計用于“輕松與其他組件和應(yīng)用程序一起操作”的組件,而代理中間件具有多個組件,可以在復(fù)雜的特定領(lǐng)域語言和服務(wù)上運(yùn)行。
  • 其次,數(shù)據(jù)庫中間件側(cè)重于 DB 到 DB 或 DB 到應(yīng)用程序的通信——無論是本地的還是通過 CLI(調(diào)用級接口)——而嵌入式中間件充當(dāng)嵌入式集成應(yīng)用程序和操作系統(tǒng)通信的中介。
  • 第三,門戶中間件在復(fù)合的單體應(yīng)用程序中創(chuàng)建上下文管理工具,而設(shè)備(或機(jī)器人)中間件簡化了特定設(shè)備操作系統(tǒng)或機(jī)器人硬件和固件的集成。

第一個分類更廣泛,強(qiáng)調(diào)架構(gòu)操作原則,而第二個分類是應(yīng)用程序驅(qū)動的。出于這個原因,第一個隔離更可取,以準(zhǔn)確定義每個架構(gòu)集成的中間件,而不是其應(yīng)用程序?qū)傩浴K蓄愋偷闹虚g件如圖所示。

圖片

中間件的使用

在開發(fā)應(yīng)用程序時,需要考慮的三個必要要素是可擴(kuò)展性、可維護(hù)和自動化。首先,開發(fā)者避免橫向擴(kuò)展,這只是增加資源來擴(kuò)展主系統(tǒng)的能力。他們努力實(shí)現(xiàn)工作負(fù)載分區(qū)——在整個網(wǎng)絡(luò)上優(yōu)化分配作業(yè)調(diào)度。至于維護(hù),關(guān)注點(diǎn)分離原則對于開發(fā)人員來說非常重要,既要使每個實(shí)體可重用(模塊化),又要捆綁其屬性(封裝)。(典型的模塊化示例包括 Linux 內(nèi)核,因為代碼庫可以更改添加/刪除,以及可以多次使用不同元素來構(gòu)建系統(tǒng)的樂高積木。)此外,開發(fā)人員專注于自動化操作以減少錯誤并提供 24/7 可用的應(yīng)用程序。

中間件可以充當(dāng)促進(jìn)者,以實(shí)現(xiàn)可擴(kuò)展性、可維護(hù)和自動化。具體來說,它添加了一個層,將復(fù)雜系統(tǒng)簡化為小型集成,允許它們與分布式資源網(wǎng)絡(luò)相關(guān)聯(lián)。這意味著中間件在軟件開發(fā)過程中提供了敏捷性,同時縮短了整個軟件周期的時間;它還為開發(fā)人員提供了更容易的未來擴(kuò)展點(diǎn)。

此外,中間件可以通過結(jié)合“快速失敗,快速成功”的原則來支持快速原型設(shè)計。它允許開發(fā)人員立即應(yīng)用、采用和評估業(yè)務(wù)變更。中間件還可以降低項目成本,促進(jìn)創(chuàng)業(yè)創(chuàng)新。

中間件的能力

在 Internet 的廣泛使用和高速連接的適應(yīng)之前,大多數(shù)應(yīng)用程序都是作為單層、獨(dú)立的軟件解決方案開發(fā)的。該軟件是“單一的”,旨在服務(wù)于特定的目的和活動,因此并非旨在與其他應(yīng)用程序和軟件組件連接和交互。單層軟件需要一個復(fù)雜的中間件解決方案來與不同的模塊(例如客戶端/服務(wù)器)共享信息,或者傳遞來自主機(jī)/資源管理軟件的請求。

在互聯(lián)網(wǎng)徹底改變了開發(fā)人員的操作方式之后,越來越多的交易由連接到大型分布式計算機(jī)網(wǎng)絡(luò)(也稱為物聯(lián)網(wǎng))的多個計算設(shè)備驅(qū)動。分布式計算引入了 SOA(面向服務(wù)的架構(gòu))而不是單體應(yīng)用程序。具體來說,SOA 由實(shí)現(xiàn)實(shí)體和服務(wù)分離的多層軟件解決方案組成,從而將每個組件分解為微服務(wù)。這是通過降低系統(tǒng)的復(fù)雜性并進(jìn)一步增加其模塊化來實(shí)現(xiàn)的。在這種情況下,中間件將每個實(shí)體視為唯一且自治的。因此,未來的修改是針對特定服務(wù)(模塊)而不是針對整個系統(tǒng)的組件。

中間件是一種將單個應(yīng)用程序開發(fā)為一組小型服務(wù)的方法,每個服務(wù)都在自己的進(jìn)程中運(yùn)行并與輕量級機(jī)制進(jìn)行通信,通常是 HTTP RestfulAPI。

中間件與 API(應(yīng)用協(xié)議接口)緊密相連,充當(dāng)程序員使用的不同 API 的層或軟件包。這意味著中間件可以簡化復(fù)雜的應(yīng)用程序,使開發(fā)人員不僅關(guān)注組件的通信,還關(guān)注業(yè)務(wù)邏輯和系統(tǒng)交互。這是物聯(lián)網(wǎng)時代的一個重要方面,因為 API 是連接設(shè)備和無誤發(fā)送信息的主要網(wǎng)關(guān)。

物聯(lián)網(wǎng)中間件

物聯(lián)網(wǎng)這個術(shù)語描述了一個大型互連設(shè)備網(wǎng)絡(luò),這些設(shè)備收集由多個智能傳感設(shè)備融合的實(shí)時數(shù)據(jù)。為實(shí)現(xiàn)這一目標(biāo),電子設(shè)備(手機(jī)/平板電腦/計算機(jī))將數(shù)據(jù)發(fā)送到托管在云或邊緣計算基礎(chǔ)設(shè)施中的外部服務(wù)。最近的研究集中在開發(fā)一個物聯(lián)網(wǎng)網(wǎng)絡(luò),該網(wǎng)絡(luò)不僅可以與周圍環(huán)境交互,而且可以自主行動而無需用戶干預(yù)。在此范圍內(nèi),物聯(lián)網(wǎng)將普適/無處不在的計算視為計算應(yīng)用的未來。計算機(jī)不再與單個設(shè)備或設(shè)備網(wǎng)絡(luò)相關(guān)聯(lián)。普適計算被定義為“源自數(shù)字世界的全部情景服務(wù),通過物理世界感知。

此外,開發(fā)物聯(lián)網(wǎng)應(yīng)用程序的架構(gòu)原則包括對安全性、能耗和監(jiān)控、可靠性、可解釋性和通信的審查。如前所述,中間件為所有這些功能提供了一個抽象層。根據(jù)其軟件許可,它可以分為企業(yè)維護(hù)、開源或設(shè)備特定(用于微型計算機(jī)/執(zhí)行器,如 Raspberry Pi 或 Arduino)。

下圖描繪了物聯(lián)網(wǎng)中間件通常如何根據(jù)以下關(guān)注點(diǎn)分離處理其操作:

  • 硬件層(也稱為邊緣層)包括所有傳感設(shè)備,以及它們在其中運(yùn)行的傳感器網(wǎng)絡(luò)。該層負(fù)責(zé)收集和處理可用數(shù)據(jù)。
  • 操作系統(tǒng)層(即訪問網(wǎng)關(guān)層)執(zhí)行必要的數(shù)據(jù)轉(zhuǎn)換操作,以便相應(yīng)地提取和加載信息。
  • 網(wǎng)絡(luò)層(即互聯(lián)網(wǎng)層)側(cè)重于通過保護(hù)連續(xù)、安全和無中斷的通信流將數(shù)據(jù)發(fā)送到下一層。
  • 中間件層處理消息通信協(xié)議和服務(wù)。具體來說,該層除了為應(yīng)用程序提供訪問協(xié)議外,還檢查系統(tǒng)的操作和數(shù)據(jù)傳輸故障。
  • 最后,應(yīng)用層單獨(dú)負(fù)責(zé)向最終用戶提供服務(wù)(通常通過API),通過向各種應(yīng)用程序端點(diǎn)(例如,不同的開發(fā)人員和部門)廣播服務(wù)。

圖片

對有關(guān) IoT 中間件的一些最有前途的開源項目的回顧突出了以下幾點(diǎn):用于云中傳感器系統(tǒng)的 OpenIoT;FIWARE 用于轉(zhuǎn)換設(shè)備之間的通信協(xié)議;LinkSmart(以前稱為 Hydra),用于數(shù)據(jù)存儲和機(jī)器學(xué)習(xí)的快速部署和高可擴(kuò)展性;DeviceHive 用于物聯(lián)網(wǎng)關(guān)于通信、控制和管理的自動化層抽象;和 ThingSpeak 用于有關(guān)智能應(yīng)用的工業(yè)物聯(lián)網(wǎng)框架。

同樣,IBM、AWS(亞馬遜網(wǎng)絡(luò)服務(wù))、微軟 Azure、谷歌和甲骨文也開發(fā)了企業(yè)中間件。基于突出顯示的項目,一些中間件框架專注于自動化特定任務(wù)或核心業(yè)務(wù)活動流程。

未來:云容器和微服務(wù)

雖然開發(fā)人員使用虛擬化(將資源分層到基礎(chǔ)設(shè)施中)、管理程序(操作系統(tǒng)的解釋器)、客戶操作系統(tǒng)(具有自己的內(nèi)核)和應(yīng)用程序,但中間件促進(jìn)了在單一多用途環(huán)境中的分散部署。隨著容器的指數(shù)級增長,這一點(diǎn)變得很明顯——軟件環(huán)境可以通過同一服務(wù)器(主機(jī))在隔離環(huán)境(也稱為沙箱)中快速輕松地多次部署. 就像 Java 的座右銘“一次編寫,隨處運(yùn)行”一樣,容器是一個獨(dú)立的軟件環(huán)境,具有獨(dú)特的代碼、庫、運(yùn)行時和依賴項。中間件層也從虛擬化轉(zhuǎn)移到容器化,目的是為了優(yōu)化通信和抽象通信協(xié)議以開發(fā)軟件管道。

從開發(fā)人員的角度來看,轉(zhuǎn)向云計算解決方案意味著需要更少的編碼,因為云基礎(chǔ)架構(gòu)中的大部分工作都是在“幕后”執(zhí)行的。換句話說,以前由本地中間層處理的分布式編程和企業(yè)開發(fā)的幾個方面現(xiàn)在可以遠(yuǎn)程處理。更具體地說,要解決的常見問題包括擴(kuò)展、彈性可觀察性、資源管理以及持續(xù)集成和交付。這意味著企業(yè)將限制中間件開發(fā)人員的數(shù)量,他們將專注于架構(gòu)和應(yīng)用程序開發(fā),而不是部署。

結(jié)論

中間件可用于軟件周期的多個階段——從架構(gòu)和開發(fā)到部署。對企業(yè)數(shù)字化轉(zhuǎn)型(從單體到微服務(wù)實(shí)施)的永久需求,這些表明中間件將繼續(xù)存在。無論是將復(fù)雜的軟件組件分離成更小的服務(wù),在計算機(jī)之間傳輸數(shù)據(jù),還是創(chuàng)建通用網(wǎng)關(guān)以實(shí)現(xiàn)無縫通信,您都可以依靠中間件來實(shí)現(xiàn)不同設(shè)備、應(yīng)用程序和軟件層之間的通信。此外,有必要對新開發(fā)人員進(jìn)行中間件教育,并通過現(xiàn)代教育技術(shù)和學(xué)習(xí)系統(tǒng)強(qiáng)調(diào)其重要性。

隨著越來越多的敏捷運(yùn)動,科技行業(yè)采用了快速瀑布模型來為每個結(jié)構(gòu)需求創(chuàng)建層堆棧,包括集成、通信、數(shù)據(jù)和安全性。鑒于此范圍,研究云或數(shù)據(jù)服務(wù)的潛在擴(kuò)展不再重要。現(xiàn)在必須強(qiáng)調(diào)端點(diǎn)連接和敏捷開發(fā)。

這意味著中間件不應(yīng)該僅僅作為一個面向?qū)ο蟮慕鉀Q方案來執(zhí)行簡單的請求-響應(yīng)命令。中間件可以通過結(jié)合微服務(wù)架構(gòu)來通過多個網(wǎng)關(guān)整合推拉事件和數(shù)據(jù)流,以開發(fā)一個整體的去中心化生態(tài)系統(tǒng)。

責(zé)任編輯:趙寧寧 來源: 云原生技術(shù)愛好者社區(qū)
相關(guān)推薦

2013-03-13 10:37:22

中間件Windows

2012-02-16 09:10:31

JavaScript

2016-08-28 15:55:04

Hadoop大數(shù)據(jù)

2017-08-08 15:40:26

OpenStack轉(zhuǎn)型基金會

2020-05-26 11:17:34

區(qū)塊鏈金融技術(shù)

2023-03-21 11:24:44

eSIM移動通信

2017-03-22 20:36:34

深度學(xué)習(xí)機(jī)器學(xué)習(xí)人工智能

2021-08-16 08:44:54

Pravega Fli項目協(xié)議

2022-05-17 16:13:31

區(qū)塊鏈以太坊監(jiān)管

2021-07-16 10:05:34

項目企業(yè)系統(tǒng)

2009-05-15 17:23:56

2013-05-28 13:28:19

紅帽公司JBoss

2019-09-08 17:37:47

2024-12-18 07:45:18

2020-11-17 13:00:37

物聯(lián)網(wǎng)IOT物聯(lián)網(wǎng)應(yīng)用

2017-11-24 13:51:40

數(shù)據(jù)倉庫數(shù)據(jù)庫數(shù)據(jù)分析

2021-08-12 10:25:55

人工智能AI人工智能技術(shù)

2022-11-18 07:54:02

Go中間件項目

2018-08-06 13:25:28

人工智能深度學(xué)習(xí)芯片

2020-11-30 11:06:52

數(shù)據(jù)中心數(shù)據(jù)中心融合
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲最大看片网站 | 日日干日日操 | 亚洲国产成人av好男人在线观看 | 欧美成人精品二区三区99精品 | 中文字幕在线一区二区三区 | 国产免费一区二区 | 夜夜操操操 | 9久9久9久女女女九九九一九 | 欧美精品福利视频 | 成人久久18免费网站图片 | 国产中文一区二区三区 | 欧洲av一区| 日韩www | 亚洲精品高清视频在线观看 | 天天躁日日躁狠狠躁白人 | 久久久高清 | 中文字幕乱码一区二区三区 | 欧美精品一区二区免费 | 91成人免费看| 亚洲网站免费看 | 亚洲午夜精品视频 | 毛片入口 | 麻豆视频在线看 | 日韩中文久久 | 亚洲综合一区二区三区 | 99久久久国产精品免费消防器 | 午夜日韩| 国产精品日韩在线 | 综合久久综合久久 | 午夜国产羞羞视频免费网站 | 亚洲在线电影 | 国产精品乱码一二三区的特点 | aaa精品| 欧美色欧美亚洲另类七区 | 麻豆精品国产免费 | 一区二区亚洲 | 国产精品久久久久久久久久久久久久 | 91在线视频免费观看 | 日韩精品久久 | 国产不卡在线播放 | 黄色国产在线播放 |