完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>
標簽 > 分布式
分布式系統(distributed system)是建立在網絡之上的軟件系統。正是因為軟件的特性,所以分布式系統具有高度的內聚性和透明性。
分布式系統(distributed system)是建立在網絡之上的軟件系統。正是因為軟件的特性,所以分布式系統具有高度的內聚性和透明性。因此,網絡和分布式系統之間的區別更多的在于高層軟件(特別是操作系統),而不是硬件。內聚性是指每一個數據庫分布節點高度自治,有本地的數據庫管理系統。透明性是指每一個數據庫分布節點對用戶的應用來說都是透明的,看不出是本地還是遠程。在分布式數據庫系統中,用戶感覺不到數據是分布的,即用戶不須知道關系是否分割、有無副本、數據存于哪個站點以及事務在哪個站點上執行等。
在一個分布式系統中,一組獨立的計算機展現給用戶的是一個統一的整體,就好像是一個系統似的。系統擁有多種通用的物理和邏輯資源,可以動態的分配任務,分散的物理和邏輯資源通過計算機網絡實現信息交換。系統中存在一個以全局的方式管理計算機資源的分布式操作系統。通常,對用戶來說,分布式系統只有一個模型或范型。在操作系統之上有一層軟件中間件(middleware)負責實現這個模型。一個著名的分布式系統的例子是萬維網(World Wide Web),在萬維網中,所有的一切看起來就好像是一個文檔(Web頁面)一樣。
分布式系統(distributed system)是建立在網絡之上的軟件系統。正是因為軟件的特性,所以分布式系統具有高度的內聚性和透明性。因此,網絡和分布式系統之間的區別更多的在于高層軟件(特別是操作系統),而不是硬件。內聚性是指每一個數據庫分布節點高度自治,有本地的數據庫管理系統。透明性是指每一個數據庫分布節點對用戶的應用來說都是透明的,看不出是本地還是遠程。在分布式數據庫系統中,用戶感覺不到數據是分布的,即用戶不須知道關系是否分割、有無副本、數據存于哪個站點以及事務在哪個站點上執行等。
在一個分布式系統中,一組獨立的計算機展現給用戶的是一個統一的整體,就好像是一個系統似的。系統擁有多種通用的物理和邏輯資源,可以動態的分配任務,分散的物理和邏輯資源通過計算機網絡實現信息交換。系統中存在一個以全局的方式管理計算機資源的分布式操作系統。通常,對用戶來說,分布式系統只有一個模型或范型。在操作系統之上有一層軟件中間件(middleware)負責實現這個模型。一個著名的分布式系統的例子是萬維網(World Wide Web),在萬維網中,所有的一切看起來就好像是一個文檔(Web頁面)一樣。
在計算機網絡中,這種統一性、模型以及其中的軟件都不存在。用戶看到的是實際的機器,計算機網絡并沒有使這些機器看起來是統一的。如果這些機器有不同的硬件或者不同的操作系統,那么,這些差異對于用戶來說都是完全可見的。如果一個用戶希望在一臺遠程機器上運行一個程序,那么,他必須登陸到遠程機器上,然后在那臺機器上運行該程序。
分布式系統和計算機網絡系統的共同點是:多數分布式系統是建立在計算機網絡之上的,所以分布式系統與計算機網絡在物理結構上是基本相同的。
他們的區別在于:分布式操作系統的設計思想和網絡操作系統是不同的,這決定了他們在結構、工作方式和功能上也不同。網絡操作系統要求網絡用戶在使用網絡資源時首先必須了解網絡資源,網絡用戶必須知道網絡中各個計算機的功能與配置、軟件資源、網絡文件結構等情況,在網絡中如果用戶要讀一個共享文件時,用戶必須知道這個文件放在哪一臺計算機的哪一個目錄下;分布式操作系統是以全局方式管理系統資源的,它可以為用戶任意調度網絡資源,并且調度過程是“透明”的。當用戶提交一個作業時,分布式操作系統能夠根據需要在系統中選擇最合適的處理器,將用戶的作業提交到該處理程序,在處理器完成作業后,將結果傳給用戶。在這個過程中,用戶并不會意識到有多個處理器的存在,這個系統就像是一個處理器一樣。
分布式與集群的區別
集群是個物理形態,分布式是個工作方式。
只要是一堆機器,就可以叫集群,他們是不是一起協作著干活,這個誰也不知道;一個程序或系統,只要運行在不同的機器上,就可以叫分布式,嗯,C/S架構也可以叫分布式。
集群一般是物理集中、統一管理的,而分布式系統則不強調這一點。
所以,集群可能運行著一個或多個分布式系統,也可能根本沒有運行分布式系統;分布式系統可能運行在一個集群上,也可能運行在不屬于一個集群的多臺(2臺也算多臺)機器上。
分布式系統的優點
分布式系統與集中式系統相比較而言的優點
系統傾向于分布式發展潮流的真正驅動力是經濟。25年前,計算機權威和評論家Herb Grosch指出CPU的計算能力與它的價格的平方成正比,后來成為Grosch定理。也就是說如果你付出兩倍的價錢,就能獲得四倍的性能。這一論斷與當時的大型機技術非常吻合,因而使得許多機構都盡其所能購買最大的單個大型機。
隨著微處理機技術的發展,Grosch定理不再適用了。到了二十一世紀初期,人們只需花幾百美元就能買到一個CPU芯片,這個芯片每秒鐘執行的指令比80年代最大的大型機的處理機每秒鐘所執行的指令還多。如果你愿意付出兩倍的價錢,將得到同樣的CPU,但它卻以更高的時鐘速率運行。因此,最節約成本的辦法通常是在一個系統中使用集中在一起的大量的廉價CPU。所以,傾向于分布式系統的主要原因是它可以潛在地得到比單個的大型集中式系統好得多的性價比。實際上,分布式系統是通過較低廉的價格來實現相似的性能的。
與這一觀點稍有不同的是,我們發現微處理機的集合不僅能產生比單個大型主機更好的性能價格比,而且還能產生單個大型主機無論如何都不能達到的絕對性能。例如,按二十一世初期的技術,我們能夠用10,000個現代CPU芯片組成一個系統,每個CPU芯片以50 MIPS(每秒百萬指令)的速率運行,那么整個系統的性能就是500,000 MIPS。而如果單個處理機(即CPU)要達到這一性能,就必需在2×10-12 秒(2 微微秒,0.002納秒)的時間內執行一條指令,然而沒有一個現存的計算機能接近這個速度,從理論上和工程上考慮都認為能達到這一要求的計算機都是不可能存在的。理論上,愛因斯坦的相對論指出光的傳播速度最快,它能在2 微微秒內傳播0.6毫米。實際上,一個包含于邊長為0.6 毫米大小的立方體內的具有上面所說的計算速度的計算機產生大量的熱量就能將它自己立即熔掉。所以,無論是要以低價格獲得普通的性能還是要以較高的價格獲得極高的性能,分布式系統都能夠滿足。
另一方面,一些作者對分布式系統和并行系統進行了區分。他們認為分布式系統是設計用來允許眾多用戶一起工作的,而并行系統的唯一目標就是以最快的速度完成一個任務,就像我們的速度為500,000 MIPS的計算機那樣。我們認為,上述的區別是難以成立的,因為實際上這兩個設計領域是統一的。我們更愿意在最廣泛的意義上使用“分布式系統”一詞來表示任何一個有多個互連的CPU協同工作的系統。
建立分布式系統的另一原因在于一些應用本身是分布式的。一個超級市場連鎖店可能有許多分店,每個商店都需要采購當地生產的商品(可能來自本地的農場)、進行本地銷售,或者要對本地的哪些蔬菜因時間太長或已經腐爛而必須扔掉作出決定。因此,每個商店的本地計算機能明了存貨清單是有意義的,而不是集中于公司總部。畢竟,大多數查詢和更新都是在本地進行的。然而,連鎖超級市場的高層管理者也會不時地想要了解他們還有多少甘藍。實現這一目標的一種途徑就是將整個系統建設成對于應用程序來說就像一臺計算機一樣,但是在實現上它是分布的,像我們前面所描述的一個商店有一臺機器。這就是一個商業分布式系統。
另一種固有的分布式系統是通常被稱為計算機支持下的協同工作系統(CSCW,Computer Supported Cooperative Work)。在這個系統中,一組相互之間在物理上距離較遠的人員可以一起進行工作,例如,寫出同一份報告。就計算機工業的長期發展趨勢來說,人們可以很容易的想像出一個全新領域--計算機支持的協同游戲(CSCG:Computer Supported Cooperative Games)。在這個游戲中,不在同一地方的游戲者可以實時的玩游戲。你可以想像,在一個多維迷宮中玩電子捉迷藏,甚至是一起玩一場電子空戰,每個人操縱自己的本地飛行模擬器去試著擊落別的游戲者,每個游戲者的屏幕上都顯示出其飛機外的情況,包括其它飛入它的視野的飛機。
同集中式系統相比較,分布式系統的另一個潛在的優勢在于它的高可靠性。通過把工作負載分散到眾多的機器上,單個芯片故障最多只會使一臺機器停機,而其它機器不會受任何影響。理想條件下,某一時刻如果有5%的計算機出現故障,系統將仍能繼續工作,只不過損失5%的性能。對于關鍵性的應用,如核反應堆或飛機的控制系統,采用分布式系統來實現主要是考慮到它可以獲得高可靠性。
最后,漸增式的增長方式也是分布式系統優于集中式系統的一個潛在的重要的原因。通常,一個公司會買一臺大型主機來完成所有的工作。而當公司繁榮擴充、工作量就會增大,當其增大到某一程度時,這個主機就不能再勝任了。僅有的解決辦法是要么用更大型的機器(如果有的話)代替現有的大型主機,要么再增加一臺大型主機。這兩種作法都會引起公司運轉混亂。相比較之下,如果采用分布式系統,僅給系統增加一些處理機就可能解決這個問題,而且這也允許系統在需求增長的時候逐漸進行擴充。表1-1中總結了以上這些優點。
從長遠的角度來看,主要的驅動力將是大量個人計算機的存在和人們共同工作與信息共享的需要,這種信息共享必需是以一種方便的形式進行的,而不受地理或人員、數據,機器的物理分布的影響。
分布式系統與獨立PC機相比較的優點
既然使用微處理機是一種節省開支的辦法,那么為什么不給每個人一臺個人計算機,讓他們各自獨立地工作呢?一則,許多用戶需要共享數據。例如,機票預訂處的工作人員需要訪問存儲航班以及現有座位信息的主數據庫。假如給每個工作人員都備份整個數據庫,那么在實際中這是無法工作的,因為沒有人知道其他工作人員已經賣出了哪些座位。共享的數據是上例和許多其它應用的基礎,所以計算機間必須互連。而計算機互連就產生了分布式系統。
共享并不只是僅僅涉及數據。昂貴的外設,例如彩色激光打印機,照相排版機以及大型存儲設備(如自動光盤點唱機)都是共享資源。
把一組孤立的計算機連成一個分布式系統的第三個原因是它可以增強人與人之間的溝通,電子郵件比信件、電話和傳真有更多的誘人之處。它比信件快的多,不像電話需要兩人同時都在,也不像傳真,它所產生的文件可在計算機中進行編輯、重排和存儲,也可以由文本處理程序來處理。
最后,分布式系統可能比給每個用戶一個獨立的計算機更靈活。盡管一種可能的模式是給每個人一臺個人計算機并把它們通過LAN聯在一起,但這種方式并不是唯一的。另外還存在一種模式是將個人計算機和共享計算機混合連接在一起(這些機器的型號可能并不完全相同),使工作能夠在最合適的計算機上完成,而并不總是在自己的計算機上完成。這種方式可以使工作負荷能更有效地在計算機系統中進行分配。系統中某些計算機的失效也可以通過使其工作在其它計算機上進行而得到補償。
分布式系統的缺點
盡管分布式系統有許多優點,但也有缺點。本節就將指出其中的一些缺點。我們前面已經提到了最棘手的問題:軟件。就目前的最新技術發展水平,我們在設計、實現及使用分布式系統上都沒有太多的經驗。什么樣的操作系統、程序設計語言和應用適合這一系統呢?用戶對分布式系統中分布式處理又應該了解多少呢?系統應當做多少而用戶又應當做多少呢?專家們的觀點不一(這并不是因為專家們與眾不同,而是因為對于分布式系統他們也很少涉及)。隨著更多的研究的進行,這些問題將會逐漸減少。但是我們不應該低估這個問題。
第二個潛在的問題是通信網絡。由于它會損失信息,所以就需要專門的軟件進行恢復。同時,網絡還會產生過載。當網絡負載趨于飽和時,必須對它進行改造替換或加入另外一個網絡擴容。在這兩種情況下,一個或多個建筑中的某些部分必須花費很高的費用進行重新布線,或者更換網絡接口板(例如用光纖)。一旦系統依賴于網絡,那么網絡的信息丟失或飽和將會抵消我們通過建立分布式系統所獲得的大部分優勢。
最后,上面我們作為優點來描述的數據易于共享性也是具有兩面性的。如果人們能夠很方便地存取整個系統中的數據,那么他們同樣也能很方便地存取與他們無關的數據。換句話說,我們經常要考慮系統的安全性問題。通常,對必須絕對保密的數據,使用一個專用的、不與其它任何機器相連的孤立的個人計算機進行存儲的方法更可取。而且這個計算機被保存在一個上鎖的十分安全的房間中,與這臺計算相配套的所有軟盤都存放在這個房間中的一個保險箱中。分布式系統的缺點如表1-3所示。
項目描述
軟件分布式系統開發的軟件還很少
網絡網絡可能飽和和引起其它的問題
安全容易造成對保密數據的訪問
表 1-3. 分布式系統的缺點
盡管存在這些潛在的問題,許多人還是認為分布式系統的優點多于缺點,并且普遍認為分布式系統在未來幾年中會越來越重要。實際上,在幾年之內許多機構會將他們的大多數計算機連接到大型分布式系統中,為用戶提供更好、更廉價和更方便的服務。而在十年之后,中型或大型商業或其它機構中可能將不再存在一臺孤立的計算機了。
分布式系統是多個處理機通過通信線路互連而構成的松散耦合的系統。從系統中某臺處理機看來,其余的處理機和相應的資源都是遠程的,只有它自己的資源才是本地的。
可分布式:光伏發電不需要像傳統的發電方式那樣集中在大型發電站中,而是可以分布式地部署在需要使用能源的地方,降低了能源輸送和損耗。
更適合分布式的管理與控制。分布式數據庫系統的結構更適合具有地理分布特性的組織或機構使用,允許分布在不同區域、不同級別的各個部門對其自身的數據實行局部控制...
分布式存儲系統,是將數據分散存儲在多臺獨立的設備上。傳統的網絡存儲系統采用集中的存儲服務器存放所有數據,存儲服務器成為系統性能的瓶頸,也是可靠性和安全性...
如果一個軟件開發人員,不了解軟件架構的演進,會制約技術的選型和開發人員的生存、晉升空間。這里我列舉了目前主要的四種軟件架構以及他們的優缺點,希望能夠幫助...
這篇文章我想和你聊一聊,關于 Redis 分布式鎖的「安全性」問題。 Redis 分布式鎖的話題,很多文章已經寫爛了,我為什么還要寫這篇文章呢? 因為我...
6月2號話華為發布會正式發布鴻蒙操作系統,華為官方對鴻蒙操作系統做了很全面的介紹,小編這里就對此次發布會的問題進行了總結,沒看到直播的小伙伴 鴻蒙系統有...
按照標準安裝完成后,電力公司Ergon、Energex會進行并網檢測,首先要求逆變器在安規要求的范圍內工作,如果無法正常工作產生Vac的問題,可以允許在...
根據王成錄介紹,華為鴻蒙OS誕生的目標就是希望用一套系統來解決所有的IoT硬件設備的問題。
鴻蒙系統是一款面向未來、面向全場景的分布式操作系統,鴻蒙系統開創性地提出了基于同一套系統能力、適配多種終端形態的分布式理念,在這個理念加持下,可支持多種...
人們經常討論遠程IO和分布式IO的區別。然而,有些人認為它們是相同的,術語可以交換,而另一些人認為相反。遠程I/O和分布式I/O有什么區別?以下是遠程I...
鴻蒙和LiteOS的內核都是一樣的名字,可它們究竟有什么不同呢?
分布式數據管理基于分布式軟總線的能力,實現應用程序數據和用戶數據的分布式管理。用戶數據不再與單一物理設備綁定,業務邏輯與數據存儲分離,應用跨設備運行時數...
我國大多數分布式光伏發電項目是在現有屋頂上建設完成的,考慮到屋面的結構、年限等不確定因素,作為項目申報均的必備條件,光伏創客們需要針對屋頂的承載能力出具...
2019-10-22 標簽:分布式 9840 0
編輯推薦廠商產品技術軟件/工具OS/語言教程專題
電機控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機 | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機 | PID | MOSFET | 傳感器 | 人工智能 | 物聯網 | NXP | 賽靈思 |
步進電機 | SPWM | 充電樁 | IPM | 機器視覺 | 無人機 | 三菱電機 | ST |
伺服電機 | SVPWM | 光伏發電 | UPS | AR | 智能電網 | 國民技術 | Microchip |
開關電源 | 步進電機 | 無線充電 | LabVIEW | EMC | PLC | OLED | 單片機 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 藍牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太網 | 仿真器 | RISC | RAM | 寄存器 | GPU |
語音識別 | 萬用表 | CPLD | 耦合 | 電路仿真 | 電容濾波 | 保護電路 | 看門狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 閾值電壓 | UART | 機器學習 | TensorFlow |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |