軟件開(kāi)發(fā)中用到的中間件是什么?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
什么是中間件?中間件是一種通過(guò)提供通信和數(shù)據(jù)管理方法來(lái)彌合應(yīng)用程序和操作系統(tǒng) ( OS ) 之間差距的軟件。此功能對(duì)于無(wú)法以任何方式與其他軟件工具或數(shù)據(jù)庫(kù)交換數(shù)據(jù)的應(yīng)用程序非常有用。 為什么叫中間件?中間件之所以如此命名,是因?yàn)樗挥谲浖褩?span style="vertical-align: inherit;">中操作系統(tǒng)和在其上運(yùn)行的應(yīng)用程序之間。具體來(lái)說(shuō),它位于前端的客戶端請(qǐng)求和所請(qǐng)求的后端資源之間。 客戶端(通常是駐留在前端的應(yīng)用程序,即用戶與軟件交互的地方)可以通過(guò)基于網(wǎng)絡(luò)的交互發(fā)出請(qǐng)求。數(shù)據(jù)庫(kù)、消息隊(duì)列、 NoSQL數(shù)據(jù)存儲(chǔ)和文件服務(wù)器等資源是后端的一部分。中間件位于這些端之間,以促進(jìn)它們之間的通信和數(shù)據(jù)共享。 中間件組件中間件通常由以下組件組成:
為什么要使用中間件?早期,中間件主要用作應(yīng)用程序前端和后端資源之間的中介。如今,中間件具有更多功能,包括以下功能。 應(yīng)用開(kāi)發(fā)中間件使組織和開(kāi)發(fā)人員能夠更有效地構(gòu)建應(yīng)用程序。例如用于應(yīng)用集成。使用多云和容器化環(huán)境的組織還使用中間件來(lái)經(jīng)濟(jì)高效地開(kāi)發(fā)和擴(kuò)展應(yīng)用程序。此外,中間件還用于數(shù)據(jù)處理和應(yīng)用程序編程接口 ( API ) 管理以及許多身份驗(yàn)證和消息傳遞服務(wù)。 管理與各種后端資源的連接中間件組件可能會(huì)創(chuàng)建連接池以提供對(duì)后端數(shù)據(jù)庫(kù)的快速有效的訪問(wèn)。它還可以創(chuàng)建與消息隊(duì)列和主題的連接,并管理與基于云的資源(例如Amazon Simple Storage Service)的連接。 根據(jù)客戶請(qǐng)求實(shí)現(xiàn)邏輯中間件可以接受用戶請(qǐng)求,實(shí)現(xiàn)邏輯并定制結(jié)果。例如,它可能會(huì)識(shí)別出發(fā)出請(qǐng)求的客戶端瀏覽器的語(yǔ)言標(biāo)頭設(shè)置為英語(yǔ),因此它對(duì)后端進(jìn)行的查詢應(yīng)該只返回基于英語(yǔ)的結(jié)果。另一個(gè)用例:服務(wù)器可以根據(jù)客戶端的IP 地址識(shí)別客戶端的地理位置,并將數(shù)據(jù)返回給客戶端,并優(yōu)先考慮位于附近的結(jié)果。 處理并發(fā)處理、負(fù)載平衡、事務(wù)管理中間件通常可以垂直和水平擴(kuò)展,以將傳入的客戶端請(qǐng)求分發(fā)到多個(gè)云服務(wù)器、虛擬機(jī)或可用區(qū)域。這稱為負(fù)載平衡。它還可以處理并發(fā)和事務(wù)管理問(wèn)題,例如當(dāng)多個(gè)客戶端嘗試同時(shí)訪問(wèn)或更新后端資源時(shí)出現(xiàn)的問(wèn)題。 安全訪問(wèn)后端資源中間件服務(wù)器通常需要使用安全套接字層等技術(shù)的安全連接以及使用用戶名和密碼組合或數(shù)字證書(shū)的身份驗(yàn)證。一旦客戶端提供了此安全信息,中間件就會(huì)使用它來(lái)檢查客戶端是否有權(quán)訪問(wèn)數(shù)據(jù)。只有在確認(rèn)權(quán)利后,數(shù)據(jù)才會(huì)使用安全加密的連接從中間件服務(wù)器發(fā)送到客戶端。 中間件類型中間件有很多種類型,每種類型都有特定的功能和用途。常見(jiàn)的類型包括以下幾種: 通信中間件(Communication Middleware):用于不同應(yīng)用程序或系統(tǒng)之間的通信和數(shù)據(jù)傳輸。這種中間件可以處理網(wǎng)絡(luò)通信、消息傳遞和遠(yuǎn)程過(guò)程調(diào)用(RPC)等任務(wù),以促進(jìn)系統(tǒng)之間的數(shù)據(jù)交換和協(xié)作。 事務(wù)中間件(Transaction Middleware):用于管理分布式系統(tǒng)中的事務(wù)處理。事務(wù)中間件負(fù)責(zé)確保事務(wù)的原子性、一致性、隔離性和持久性(ACID特性),以確保系統(tǒng)在執(zhí)行跨多個(gè)組件或系統(tǒng)的事務(wù)時(shí)保持?jǐn)?shù)據(jù)的完整性。 消息中間件(Message-Oriented Middleware):用于支持基于消息的系統(tǒng)集成。消息中間件允許應(yīng)用程序通過(guò)發(fā)送和接收消息來(lái)進(jìn)行通信,從而實(shí)現(xiàn)解耦和異步通信,常見(jiàn)的消息中間件包括RabbitMQ、Apache Kafka等。 對(duì)象中間件(Object Middleware):用于處理分布式對(duì)象之間的通信和交互。對(duì)象中間件提供了一種機(jī)制,允許分布式系統(tǒng)中的對(duì)象進(jìn)行遠(yuǎn)程訪問(wèn)和方法調(diào)用,而不需要顯式的網(wǎng)絡(luò)編程。 安全中間件(Security Middleware):用于管理系統(tǒng)的安全性和訪問(wèn)控制。安全中間件提供了身份認(rèn)證、授權(quán)、加密、防火墻等功能,以保護(hù)系統(tǒng)免受未經(jīng)授權(quán)的訪問(wèn)和惡意攻擊。 事務(wù)處理中間件(TP Monitor Middleware):專門(mén)用于處理大規(guī)模事務(wù)處理系統(tǒng)的中間件。它們提供了事務(wù)管理、資源分配和性能優(yōu)化等功能,以支持高并發(fā)和高可用性的事務(wù)處理。 該文章在 2024/4/18 10:12:12 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |