到底什么是分布式系统
轉(zhuǎn)載自?到底什么是分布式系統(tǒng)
分布式系統(tǒng)背景
說分布式系統(tǒng)必須要說集中式系統(tǒng),集中式系統(tǒng)中整個(gè)項(xiàng)目就是一個(gè)獨(dú)立的應(yīng)用,整個(gè)應(yīng)用也就是整個(gè)項(xiàng)目,所有的東西都在一個(gè)應(yīng)用里面。
如下圖所示
如一個(gè)網(wǎng)站就是一個(gè)應(yīng)用,最后是多個(gè)增加多臺服務(wù)器或者多個(gè)容器來達(dá)到負(fù)載均衡的避免單點(diǎn)故障的目的,當(dāng)然,數(shù)據(jù)庫是可以分開部署的。
集中式很明顯的優(yōu)點(diǎn)就是開發(fā)測試運(yùn)維會比較方便,不用為考慮復(fù)雜的分布式環(huán)境。
集中式很明顯的弊端就是不易擴(kuò)展,每次更新都必須更新所有的應(yīng)用。而且,一個(gè)有問題意味著所有的應(yīng)用都有問題。當(dāng)系統(tǒng)越來越大,集中式將是系統(tǒng)最大的瓶頸。
什么是分布式系統(tǒng)?
分布式系統(tǒng)是若干獨(dú)立計(jì)算機(jī)的集合,這計(jì)算機(jī)對用戶來說就像單個(gè)相關(guān)系統(tǒng)。
以上定義摘自<<分布式系統(tǒng)原理與范型>>一書。
也就是說分布式系統(tǒng)背后是由一系列的計(jì)算機(jī)組成的,但用戶感知不到背后的邏輯,就像訪問單個(gè)計(jì)算機(jī)一樣。
說的有點(diǎn)繞,我們可以來簡單看下分布式系統(tǒng)圖。
分布式系統(tǒng)利弊
在分布式系統(tǒng)中:
1、應(yīng)用可以按業(yè)務(wù)類型拆分成多個(gè)應(yīng)用,再按結(jié)構(gòu)分成接口層、服務(wù)層;我們也可以按訪問入口分,如移動(dòng)端、PC端等定義不同的接口應(yīng)用;
2、數(shù)據(jù)庫可以按業(yè)務(wù)類型拆分成多個(gè)實(shí)例,還可以對單表進(jìn)行分庫分表;
3、增加分布式緩存、搜索、文件、消息隊(duì)列、非關(guān)系型數(shù)據(jù)庫等中間件;
很明顯,分布式系統(tǒng)可以解決集中式不便擴(kuò)展的弊端,我們可以很方便的在任何一個(gè)環(huán)節(jié)擴(kuò)展應(yīng)用,就算一個(gè)應(yīng)用出現(xiàn)問題也不會影響到別的應(yīng)用。
隨著微服務(wù)Spring Cloud & Docker的大熱,及國內(nèi)開源分布式Dubbo框架的重生,分布式技術(shù)發(fā)展非常迅速。
分布式系統(tǒng)雖好,也帶來了系統(tǒng)的復(fù)雜性,如分布式事務(wù)、分布式鎖、分布式session、數(shù)據(jù)一致性等都是現(xiàn)在分布式系統(tǒng)中需要解決的難題,雖然已經(jīng)有很多成熟的方案,但都不完美。分布式系統(tǒng)也增加了開發(fā)測試運(yùn)維成本,工作量增加,分布式系統(tǒng)管理不好反而會變成一種負(fù)擔(dān)。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的到底什么是分布式系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OPPO A2x正式亮相移动大会!三款时
- 下一篇: 一张图告诉你什么是系统架构师