分布式系統是什么,什么是分布式系統( 二 )


這時候需要多臺服務器共同高效協作,去處理盡可能多的任務,才能達到相應流量的吞吐量 。這就要企業需要將多個服務器部署在不同的地域,才有可能規避全球用戶可能導致的網絡擁堵和延遲問題 。換句話說,分布式系統是全球網絡業務發展的基礎前提 。另外,分布式系統的可擴展性能夠大幅度降低企業的網絡成本 。由于分布式系統的多臺計算機可以在空間位置上隨意分布,機器性能也可以獨立運行和隨時變動,這就使得多個獨立服務可以得到針對性地升級,而不是傳統架構下的“大鍋飯” 。
比如在商城大促期間,只需要針對產品系統、訂單系統等跟下單量級直接相關的節點,其他服務模塊維持原有水平,可以有效降低網絡使用成本 。一些基礎模塊也可以為其他新增服務所復用,無需重復開發,又進一步降低了企業的經營風險 。可以說,在各行業競爭進入精益時期和白熱化的當下,分布式系統無疑是競爭力的前提 。更關鍵的一點,是分布式系統的高安全性 。
由于該系統中計算機沒有主/從之分,也就是說所有計算機節點都是對等的,在對外服務時分布式系統都會對數據和服務進行副本處理,從而直接有效地防止了企業關鍵數據丟失無法找回等“慘劇”,也因此成為網絡防災的重要保障 。今天,我們看到萬物智聯已經在AI、5G、云計算等基礎設施的共同鋪陳下,展示出了越來越清晰的未來圖景 。
什么是分布式系統,分布式系統例子?

分布式系統是什么,什么是分布式系統


現在的系統大部分都采用了分布式架構!下面通俗易懂的說下分布式到底是什么?一開始互聯網的應用服務比較單一(比如就只是提供一個天氣狀況接口),在訪問量低,功能沒有進一步增加的時候,運行也算是穩定!但是隨著經濟發展和互聯網的普及,互聯網用戶越來越多,原來每天幾千幾萬的服務調用,變成了幾百萬甚至幾千萬!而且為了應付不同用戶的業務需求和抓住用戶,更多的功能不斷增加!比如原來每次用戶請求,你的內存只需要100k,現在做的秒殺系統,同時會有幾百萬的點擊,也就是需要幾十幾百G的內存,一臺機器遠遠處理不了這么大的數據,單一的系統處理模式語言更新換代了!一臺機器沒有幾十G的內存來處理數據,那么十臺,百臺呢?分布式由此誕生!所謂分布式系統,就是把軟件應用分布到不同的物理節點上,組成一個完整的對外應用系統!分布式系統相比集中式系統具有速度快,可靠性強,可擴展性強,對用戶透明的特性!既然從單一節點(同內存中處理),變為多節點處理(不同的機器,不同的ip,不同的內存),那么以前的單一系統的做法就需要進行升級!比如下面的場景:1,登錄問題:以前的登錄信息,session,ticket,認證等都放在一臺服務器,但是現在不同的機器之間session等登錄數據不再一個節點,可采用同一個redis集群,統一管理登錄信息,應用服務器修改和查詢都從redis中隊列中獲取!2,服務調用:以前的服務都在一臺服務器上,直接調用即可,但是現在必須使用rpc遠程調用方式,根據數據傳輸http,tcp等協議,和不同的框架選擇使用rmi,webservice,rest風格調用,zookeeper,consul等服務注冊與發現架構!保證服務之間分布式調用!3,數據傳輸:以前數據傳輸都在同一個內存中進行,但是現在是不同的內存,所以需要諸如消息中間件等進行異步消息傳遞!4,數據一致性:因為是不同的服務器,事務也是分布式的,如果使用強一致性,會影響分布式的性能,所以通常使用消息隊列或者定時補償等方式保證數據最終一致性!5,分布式計算:將大量的互相之間有關系,卻又可以解耦的計算分布到不同的機器上,提高整個系統的算力!比如hadoop,spark等大數據技術!6,分布式調用安全性:分布式系統是跨服務器的,數據的傳輸具有隱患,所以需要保證數據的安全性,我們的系統通過使用AES算法加密和md5驗簽保證數據傳輸安全,有興趣的可以私聊我!7,日志問題:分布式系統的日志都在不同的機器上,如果出現生產問題需要一臺機器一臺機器逐一排查,所以必須使用分布式日志框架,集中處理日志!比如flume!現在銀行,保險,等等基本上業務量比較大的系統肯定都是分布實現的,所以這是作為程序員需要掌握的重要知識!如果你有碰到相關的問題,私信我,我們好好交流! 。

推薦閱讀