① 什麼是分布式編程
分布式應用程序就是指應用程序分布在不同計算機上,通過網路來共同完成一項任務,通常為伺服器/客戶端模式。更廣義上理解「分布」,不只是應用程序,還包括資料庫等,分布在不同計算機,完成同一個任務。之所以要把一個應用程序分布在不同的計算機上,主要有兩個目的:
1) 分散伺服器的壓力
大型系統中,模塊眾多,並發量大,僅用一個伺服器承載往往會發生壓力過大而導致系統癱瘓的情況。可以在橫向和縱向兩方面來進行拆分,把這些模塊部署到不同的伺服器上。這樣整個系統的壓力就分布到了不同的伺服器上。
l 橫向:按功能劃分。
l 縱向:N層架構,其中的一些層分布到不同的伺服器上(分層的概念會在後文進行介紹)。
2) 提供服務,功能重用
使用服務進行功能重用比使用組件進行代碼重用更進一層。舉例來說,如果在一個系統中的三個模塊都需要用到報表功能,一種方法是把報表功能做成一個單獨的組件,然後讓三個模塊都引用這個組件,計算操作由三個模塊各自進行;另一種方法是把報表功能做成單獨的服務,讓這三個模塊直接使用這個服務來獲取數據,所有的計算操作都在一處進行,很明顯後者的方案會比前者好得多。
服務不僅能對內提供還能對外提供,如果其他合作夥伴需要使用我們的報表服務,我們又不想直接把所有的信息都公開給它們。在這種情況下組件方式就不是很合理了,通過公開服務並對服務的使用方做授權和驗證,那麼我們既能保證合作夥伴能得到他們需要的數據,又能保證核心的數據不公開。
② java分布式開發,什麼是分布式開發。
就是同一個服務,把資料庫的不同部分分開建立到不同的伺服器上。以緩解資料庫大量數據訪問的壓力。
很多大公司的業務量比較大,每天的訪問量都達到幾百萬上千萬,甚至上億的訪問量,在訪問量不是很大的情況下,是可以通過提高單台伺服器的配置來滿足需求的。但是當單台伺服器已經滿足不了需求的時候就需要做分布式處理了。畢竟一台伺服器的處理能力是有限的。
如果分散到幾台甚至幾十台幾百天電腦上,其優勢就顯現出來了。
③ 問問大神,准備學python。它是網路編程,多線編程,分布式編程技術嗎怎樣才算對數據結構和演算法設
python不適合做分布式
如果要做分布式,可以用java, scala, go 或者erlang
④ 軟體開發中經常提到一個分布式這個詞,請問什麼是分布式開發
分清幾個概念:分布式開發,分布式架構,分層開發。分布式開發是縱向以功能模塊為單位分割軟體,並以此分工的開發方式,尤其對大型開源的軟體,開發者都身處不同地域,對各種功能模塊的實現架構也有不同理解,但,模塊開發完成提交後,有總構架師集成到系統中;分布式架構主要是為了web軟體性能的優化而提出的軟體結構方案與硬體配置方案;分層開發與縱向模塊化相對,以橫向分割軟體,三層就是把軟體橫向分為三部分,每一層都有各種功能模塊
⑤ 分布式開發的特點
何為分布式應用開發模式
在資料庫應用程序的開發過程中,網路已走到社會的各個角落。從金融行業的銀行聯網、交通行業的售票系統、公安系統的全國戶籍管理等等,這些企業或行業單位之間地理分布性或業務分布性,使得一個企業或行業擁有多個網路伺服器,如何在這種分布式的網路環境下實現高效的資料庫應用程序的開發是一個重要的問題。
分布式應用開發簡單的說,是指將用戶界面、控制台服務、資料庫管理三個層次部署在不同的位置上。其中用戶界面是客戶端實現的功能,控制台服務是一個專門的伺服器,數據管理是在一個專門的資料庫伺服器上實現的。
提示:這里的Web伺服器,都是指軟體(如IIS等Web伺服器軟體),它和Web伺服器應用以及其它程序等,共同存在於伺服器計算機上。
控制台CGI應用:是一個獨立的控制台EXE。它在一個標准輸入設備上接收客戶端的請求信息,在標准輸出設備上將結果返回給伺服器。
分布式結構層次如圖1所示。
圖1
當然在應用中,為了節省成本或實際需要,利用計算機的多任務性和強大的計算能力,我們往往把控制台伺服器與資料庫伺服器放在同一個計算機中。如圖1所示內容又可以如圖2所示,雖然減少了計算機的數量,但實質意義並沒有改變。
圖2
提示:我們在以後的連接遠程資料庫的示例中,均採用圖2連接方式。
⑥ java怎麼進行分布式開發
a請求b有很多的通訊方式,如果是socket,就可以直接socket對象中就有地址,http也差不多,如果是其他方式,就看看用的取地址的方法,如果類沒有提供的話就不行。
⑦ 什麼是分布式應用開發
分布式應用是指在通過網路相連的不同平台上,在獨立運行時間內運行的不同組件所構成的應用程序組。分布式應用能並發服務多個用戶,充分利用處理器資源,這主要取決於其設計特徵。典型的分布式應用包括雙重式(客戶機-伺服器)、三重式(客戶機-中間件-伺服器)和多重式(客戶機-多組件-多伺服器)。
建立分布式應用主要設計以下幾種技術:
客戶機/伺服器體系結構;
遠程過程調用(RPC);
分布式計算環境(DCE);
分布式組件對象模型(DCOM);
通用對象請求代理體系結構(COBRA);
企業 Intranet Applet;
Java 分布式對象模型。
在當今網路世界,分布式應用正變得越來越為流行和普遍。
相關術語:客戶機/伺服器體系結構、遠程過程調用(RPC)、分布式計算環境(DCE)、分布式組件對象模型(DCOM)、通用對象請求代理體系結構(COBRA)、Applet、Java 分布式對象模型
⑧ 什麼是分布式開發
分布式應用開發簡單的說,是指將用戶界面、控制台服務、資料庫管理三個層次部署在不同的位置上。其中用戶界面是客戶端實現的功能,控制台服務是一個專門的伺服器,數據管理是在一個專門的資料庫伺服器上實現的。
⑨ 分布式開發主要用到什麼
在談分布式系統架構前,我們先來看看,什麼是分布式系統?
假設原來我們有一個系統,代碼量30多萬行。現在拆分成20個小系統,每個小系統1萬多行代碼。
原本代碼之間都是直接基於Spring框架走JVM內存調用,現在拆開來,將20個小系統部署在不同的機器上,然後基於分布式服務框架(比如bbo)搞一個rpc調用,介面與介面之間通過網路通信來進行請求和響應。
所以分布式系統很重要的特點就是服務間要跨網路進行調用。
此外,分布式系統可以大概可以分成兩類。
(一)、底層的分布式系統
比如hadoop hdfs(分布式存儲系統)、spark(分布式計算系統)、storm(分布式流式計算系統)、elasticsearch(分布式搜索系統)、kafka(分布式發布訂閱消息系統)等。
(二)、分布式業務系統
分布式業務系統,把原來用java開發的一個大塊系統,給拆分成多個子系統,多個子系統之間互相調用,形成一個大系統的整體。
舉個例子,假設原來你做了一個OA系統,裡麵包含了許可權模塊、員工模塊、請假模塊、財務模塊,一個工程,裡麵包含了一堆模塊,模塊與模塊之間會互相去調用,1台機器部署。
現在如果你把他這個系統給拆開,許可權系統,員工系統,請假系統,財務系統,4個系統,4個工程,分別在4台機器上部署。
然後一個請求過來,完成這個請求,員工系統去調用許可權系統,調用請假系統,調用財務系統,4個系統分別完成了一部分的事情。
最後4個系統都幹完了以後,才認為是這個請求已經完成了。這就是所謂的分布式業務系統。
⑩ 分布式編程中的heartbeat是起什麼作用的
心跳,用來檢測各個節點之間是不是連通的,就像醫院里監控你的心跳,停了要麼就是掛了(節點死了),要麼就是那個儀器掉了(網路斷開)