国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

中間件定義

這篇具有很好參考價值的文章主要介紹了中間件定義。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

中間件定義中間件(middleware)是基礎軟件的一大類,屬于可復用的軟件范疇。中間件在操作系統(tǒng)軟件,網(wǎng)絡和數(shù)據(jù)庫之上,應用軟件之下,總的作用是為處于自己上層的應用軟件提供運行于開發(fā)的環(huán)境,幫助用戶靈活、高效的開發(fā)和集成復雜的應用軟件。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-487516.html

IDC對中間件的定義為:中間件是一種獨立的系統(tǒng)軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件定位于客戶機服務器的操作系統(tǒng)之上,管理計算機資源和網(wǎng)絡通信。

因而中間件是指一類軟件,是基于分布式處理的軟件,最突出的特點是其網(wǎng)絡通信功能。也可認為中間件是位于平臺和應用之間的通用服務,這些服務具有標準的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,可以有符合接口和協(xié)議的多種實現(xiàn)。

?

?

消息中間件的原理

?

1、消息中間件簡單介紹

此類中間件是指利用高效可靠的消息傳遞機制進行平臺無關的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進行分布式系統(tǒng)的集成。通過提供消息傳遞和消息排隊模型,它可以在分布式環(huán)境下擴展進程間的通信。

消息中間件可以即支持同步方式,又支持異步方式。異步中間件比同步中間件具有更強的容錯性,在系統(tǒng)故障時可以保證消息的正常傳輸。異步中間件技術又分為兩類:廣播方式和發(fā)布/訂閱方式。由于發(fā)布/訂閱方式可以指定哪種類型的用戶可以接受哪種類型的消息,更加有針對性,事實上已成為異步中間件的非正式標準。目前主流的消息中間件產品有IBM的MQSeries,BEA的MessageQ和Sun的JMS等

2、消息中間件原理

面向消息的中間件(MOM),提供了以松散耦合的靈活方式集成應用程序的一種機制。它們提供了基于存儲和轉發(fā)的應用程序之間的異步數(shù)據(jù)發(fā)送,即應用程序彼此不直接通信,而是與作為中介的MOM通信。MOM提供了有保證的消息發(fā)送(至少是在盡可能地做到這一點),應用程序開發(fā)人員無需了解遠程過程調用(PRC)和網(wǎng)絡/通信協(xié)議的細節(jié)。

?

消息中間件利用高效可靠的消息傳遞機制進行平臺無關的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進行分布式系統(tǒng)的集成。通過提供消息傳遞和消息排隊模型,它可以在分布式環(huán)境下擴展進程間的通信。

消息中間件適用于需要可靠的數(shù)據(jù)傳送的分布式環(huán)境。采用消息中間件機制的系統(tǒng)中,不同的對象之間通過傳遞消息來激活對方的事件,完成相應的操作。發(fā)送者將消息發(fā)送給消息服務器,消息服務器將消息存放在若干隊列中,在合適的時候再將消息轉發(fā)給接收者。消息中間件能在不同平臺之間通信,它常被用來屏蔽掉各種平臺及協(xié)議之間的特性,實現(xiàn)應用程序之間的協(xié)同,其優(yōu)點在于能夠在客戶和服務器之間提供同步和異步的連接,并且在任何時刻都可以將消息進行傳送或者存儲轉發(fā),這也是它比遠程過程調用更進一步的原因。

如下圖所示,應用程序A與應用程序B通過使用 MOM 的應用程序編程接口(API)發(fā)送消息進行通信。

?

MOM將消息路由給應用程B,這樣消息就可以存在于完全不同的計算機上,MOM 負責處理網(wǎng)絡通信。如果網(wǎng)絡連接不可用,MOM會存儲消息,直到連接變得可用時,再將消息轉發(fā)給應用程序B。

靈活性的另一方面體現(xiàn)在,當應用程序A發(fā)送其消息時,應用程序B甚至可以不處于執(zhí)行狀態(tài)。MOM將保留這個消息,直到應用程序B開始執(zhí)行并試著檢索消息為止。這還防止了應用程序A因為等待應用程序B檢索消息而出現(xiàn)阻塞。 這種異步通信要求應用程序的設計與現(xiàn)在大多數(shù)應用程序不同,不過,對于時間無關或并行處理,它可能是一個極其有用的方法

?

消息中間件與分布式對象調用的比較

?

分布式對象調用,如CORBA,RMI和DCOM,提供了一種通訊機制,透明地在異構的分布式計算環(huán)境中傳遞對象請求,而這些對象可以位于本地或遠程機器。它通過在對象與對象之間提供一種統(tǒng)一的接口,使對象之間的調用和數(shù)據(jù)共享不再關心對象的位置、實現(xiàn)語言及所駐留的操作系統(tǒng)。這個接口就是面向對象的中間件。

盡管面向對象的中間件是一種很強大的規(guī)范被廣泛應用,但是面對大規(guī)模的復雜分布式系統(tǒng),這些技術也顯示出了局限性:

1.同步通信:客戶發(fā)出調用后,必須等待服務對象完成處理并返回結果后才能繼續(xù)執(zhí)行。

2.客戶和服務對象的生命周期緊密耦合:客戶進程和服務對象進程都必須正常運行,如果由于服務對象崩潰或網(wǎng)絡故障導致客戶的請求不可達,客戶會接收到異常。

?

為了解決這些問題,出現(xiàn)了面向消息的中間件,它較好地解決了以上的問題。

消息中間件作為一個中間層軟件,它為分布式系統(tǒng)中創(chuàng)建、發(fā)送、接收消息提供了一套可靠通用的方法,實現(xiàn)了分布式系統(tǒng)中可靠的、高效的、實時的跨平臺數(shù)據(jù)傳輸。消息中間件減少了開發(fā)跨平臺和網(wǎng)絡協(xié)議軟件的復雜性,它屏蔽了不同操作系統(tǒng)和網(wǎng)絡協(xié)議的具體細節(jié),面對規(guī)模和復雜度都越來越高的分布式系統(tǒng),消息中間件技術顯示出了它的優(yōu)越性:

1.采用異步通信模式:發(fā)送消息者可以在發(fā)送消息后進行其它的工作,不用等待接收者的回應,而接收者也不必在接到消息后立即對發(fā)送者的請求進行處理;

2.客戶和服務對象生命周期的松耦合關系:客戶進程和服務對象進程不要求都正常運行,如果由于服務對象崩潰或者網(wǎng)絡故障導致客戶的請求不可達,客戶不會接收到異常,消息中間件能保證消息不會丟失。

?

消息中間件的傳遞模式

?

1. 點對點模型(PTP)

點對點模型用于消息生產者和消息消費者之間點到點的通信。消息生產者將消息發(fā)動到由某個名字標識的特定消費者。這個名字實際上對應于消息服務中的一個隊列(Queue),在消息傳動給消費者之前它被存儲在這個隊列中。隊列可以是持久的,以保證在消息服務出現(xiàn)故障時仍然能夠傳遞消息。

2. 發(fā)布-訂閱模型(Pub/Sub)

發(fā)布-訂閱模型用稱為主題(topic)的內容分層結構代替了PTP模型中的惟一目的地,發(fā)送應用程序發(fā)布自己的消息,指出消息描述的是有關分層結構中的一個主題的信息。希望接收這些消息的應用程序訂閱了這個主題。訂閱包含子主題的分層結構中的主題的訂閱者可以接收該主題和其子主題發(fā)表的所有消息。

下圖展示了發(fā)布和訂閱模型:

?

多個應用程序可以就一個主題發(fā)布和訂閱消息,而應用程序對其他人仍然是匿名的。MOM 起著代理(broker)的作用,將一個主題已發(fā)表的消息路由給該主題的所有訂閱者。

?

到了這里,關于中間件定義的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【ASP.NET Core 基礎知識】--中間件--創(chuàng)建自定義中間件

    一、為什么需要自定義中間件 自定義中間件在ASP.NET Core中的應用主要有以下幾個原因: 滿足特定需求: 默認情況下,ASP.NET Core提供了許多內置的中間件來處理常見的任務,如身份驗證、授權、靜態(tài)文件服務等。然而,某些項目可能有特定的需求,需要定制化的處理流程,這

    2024年01月17日
    瀏覽(100)
  • 高項(2)信息化和信息系統(tǒng)基礎知識1-軟件測試-軟件需求-軟件架構-中間件-數(shù)據(jù)倉庫-七層協(xié)議

    1.國家信息化體系6要素 法律法規(guī),是 保障 信息資源,信息資源的開發(fā)和利用是 核心任務 ,是國家信息化取得實效的 關鍵 信息網(wǎng)絡,是 基礎 信息技術應用,是6要素中的 龍頭 信息技術和產業(yè),是 物質保障 信息化人才,是 成功之本 2.信息系統(tǒng)生命周期 2.1 簡化為 系統(tǒng)規(guī)劃

    2024年04月09日
    瀏覽(21)
  • 探索Scrapy中間件:自定義Selenium中間件實例解析

    探索Scrapy中間件:自定義Selenium中間件實例解析

    Scrapy是一個強大的Python爬蟲框架,可用于從網(wǎng)站上抓取數(shù)據(jù)。本教程將指導你創(chuàng)建自己的Scrapy爬蟲。其中,中間件是其重要特性之一,允許開發(fā)者在爬取過程中攔截和處理請求與響應,實現(xiàn)個性化的爬蟲行為。 本篇博客將深入探討Scrapy中間件的關鍵作用,并以一個實例詳細介

    2024年02月04日
    瀏覽(27)
  • GoZero微服務個人探究之路(七)添加中間件、自定義中間件

    GoZero微服務個人探究之路(七)添加中間件、自定義中間件

    官方已經自己實現(xiàn)了很多中間件,我們可以方便的直接使用,不用重復造輪子了 開啟方式可以看官方文檔 中間件 | go-zero Documentation 在業(yè)務邏輯中,我們需要實現(xiàn)自定義功能的中間件 ------這里我們以實現(xiàn)跨源訪問的中間件(詳情可見這篇文章flutter開發(fā)web應用網(wǎng)絡請求后臺失

    2024年01月21日
    瀏覽(26)
  • 中間件定義

    中間件定義

    中間件(middleware)是基礎軟件的一大類,屬于可復用的軟件范疇。中間件在操作系統(tǒng)軟件,網(wǎng)絡和數(shù)據(jù)庫之上,應用軟件之下,總的作用是為處于自己上層的應用軟件提供運行于開發(fā)的環(huán)境,幫助用戶靈活、高效的開發(fā)和集成復雜的應用軟件。 ? IDC對中間件的定義為:中間件是

    2024年02月09日
    瀏覽(20)
  • django校驗token自定義中間件

    確保將 ‘path.to.TokenValidationMiddleware’ 替換為你中間件的實際路徑。中間件會按照在列表中的順序順序執(zhí)行,所以確保它在其他可能影響請求處理的中間件之前或之后執(zhí)行,具體取決于你的需求。 這是一個簡單的例子,實際上,你可能需要使用更復雜的 Token 校驗邏輯,例如使

    2024年01月21日
    瀏覽(21)
  • 基于.NET6的自定義中間件

    基于.NET6的自定義中間件

    中間件基礎: 在.net6.0在請求在響應給請求者之前會通過請求管道再處理服務端的邏輯然后再響應給請求者,而請求管道則是由一系列中間件組成的有點類似于過濾器,為了更直觀的了解,我們請看下圖: ?它可以決定是否將請求傳遞給請求管道中下一個中間件,也可以處理下一個中

    2023年04月27日
    瀏覽(23)
  • laravel 中間件跨域自定義封裝

    laravel 跨域cors中間件封裝 有需要的可以參考

    2024年01月22日
    瀏覽(17)
  • 中間件:構建現(xiàn)代軟件架構的橋梁

    ????????在當今快速發(fā)展的科技領域中,軟件系統(tǒng)的復雜性不斷增加。為了應對這一挑戰(zhàn),中間件應運而生,成為連接和協(xié)調不同軟件組件的不可或缺的橋梁。本文將深入探討中間件的基本概念、作用以及一些常見的中間件類型。 ????????中間件 是指介于操作系統(tǒng)和應

    2024年01月23日
    瀏覽(26)
  • 軟件架構設計(十三) 構件與中間件技術

    軟件架構設計(十三) 構件與中間件技術

    中間件的定義 其實中間件是屬于構件的一種。是一種獨立的系統(tǒng)軟件或服務程序,可以幫助分布式應用軟件在不同技術之間共享資源。 我們把它定性為一類系統(tǒng)軟件,比如我們常說的消息中間件,數(shù)據(jù)庫中間件等等都是中間件的一種體現(xiàn)。一般情況都是給應用系統(tǒng)提供服務

    2024年02月07日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包