簡體   English   中英

什么是分布式系統中的中間件?

[英]What is middleware in distributed systems?

我正在上分布式系統上課,我無法理解中間件。 我知道它是一個軟件層,它在應用程序和網絡上的實際通信之間提供了一定程度的抽象,但我需要具體的例子。 我知道CORBA和Java RMI是中間件的例子,但那些對我來說真的沒有意義。

當我用Java編寫客戶端 - 服務器程序時,通過DatagramSockets()進行通信是中間件嗎? 若是,為什么不呢? Java DatagramSocket()方法提供了從我的應用程序到網絡上的實際通信的抽象級別。

我同意評論者到目前為止 - 這不是一個明確的術語。

但是,我能想到的最適合你的問題的是消息隊列,如0MQRabbitMQ 它們提供了與網絡交互的不同方式,這比直接使用TCP或UDP更抽象。 它們都鼓勵使用可以應用於大多數分布式系統問題的“網絡模式”。

  • 0MQ提供了客戶端和服務器開始排序的靈活性,使用多種協議(線程之間/進程之間/通過TCP / over UDP / ...)發送消息,並處理網絡斷開連接。

  • RabbitMQ(我不太了解)提供了集中的消息隊列,這些隊列持久存儲到磁盤並允許網絡上的客戶端只知道相關隊列的位置(而不是該隊列的所有生產者/消費者所在的位置)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM