<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 分布式系統(tǒng)架構(gòu)

    時間:2024-09-27 05:12:27 系統(tǒng)架構(gòu)師 我要投稿
    • 相關(guān)推薦

    關(guān)于分布式系統(tǒng)架構(gòu)

      對于軟件架構(gòu),更多的是一種思想,即內(nèi)功修為。在道與術(shù)層面,則更偏重道的修煉,道的深度決定架構(gòu)的境界。相對而言,術(shù)是手段,隨不同的環(huán)境應(yīng)運而生,就像太極劍法和獨孤九劍,能做到隨境而變。

      架構(gòu)是一種權(quán)衡

      沒有一種架構(gòu)可以應(yīng)用到所有環(huán)境,也沒有一個技術(shù)或框架可以解決所有問題,即使是針對同一種場景也往往存在多種解決方案。在架構(gòu)的時候,更多的是方案和手段的權(quán)衡,例如高可用性、高并發(fā)性、一致性本身就存在一定的矛盾;而異步還是同步、是否需要事務(wù)、如何應(yīng)用事務(wù)、緩存、拆分、容災(zāi)、發(fā)布等等,每一項都需要從各種技術(shù)實現(xiàn)中進(jìn)行權(quán)衡。細(xì)化到框架,ActiveMQ、RocketMQ、Kafka、Redis、ZooKeeper等等都可以實現(xiàn)消息隊列模型,具體使用哪個就需要結(jié)合場景進(jìn)行權(quán)衡了。

      分與合

      天下大事,合久必分、分久必合,在解決高并發(fā)分布式的問題時絕大部分都在使用分與合的思想。

      當(dāng)數(shù)據(jù)量很大、并發(fā)量很多的時候就需要考慮拆分(分而治之),例如分層設(shè)計、橫向拆分、縱向拆分、分IDC、分庫分表...等等。并且這些拆分本身就是分層的,例如在DNS層可以將流量按照地域或運營商分配到不同的IDC、業(yè)務(wù)層可以將業(yè)務(wù)處理邏輯分配到多個子系統(tǒng)、系統(tǒng)層可以根據(jù)用戶進(jìn)行橫向拆分、而存儲層可以根據(jù)規(guī)則將數(shù)據(jù)分配到不同的庫不同的表;另外讀寫分離、熱點分離、獨立出緩存層也體現(xiàn)了分布式系統(tǒng)架構(gòu)中分的思想。

      為什么要做這么多的拆分,拆分就是為了化多為少,在單節(jié)點處理能力有限的情況下,通過橫向拆分提供無線的擴(kuò)展能力,當(dāng)巨大的流量通過拆分后,每個節(jié)點要處理的QPS就會下降;拆分是為了化繁為簡,簡化單節(jié)點的復(fù)雜度,現(xiàn)在的微服務(wù)(當(dāng)然微服務(wù)引發(fā)的服務(wù)治理需要另說)、二階段事務(wù)提交,就是將復(fù)雜的業(yè)務(wù)通過多維度的拆分降解單節(jié)點復(fù)雜度的手段。

      拆多了就要合,hadoop將復(fù)雜的任務(wù)分解到一個個的mapreduce job處理和聚合后,處理效率得到了極大的提升,而這種分解必然伴隨著聚合。而在有些業(yè)務(wù)場景,兩類節(jié)點相互調(diào)用非常頻繁,通過合并將原本的RPC調(diào)用轉(zhuǎn)換為本地JVM調(diào)用,則可以很大的提升系統(tǒng)性能。

      隔離

      隔離也是一種思想,其中也包含了分的意思,例如灰度、壓測隔離、動靜隔離、多版本發(fā)布等。

      轉(zhuǎn)換

      路由與轉(zhuǎn)換,可以看做是分思想的衍生物。分的太多,就需要能將請求轉(zhuǎn)發(fā)到正確的位置,此外也需要將各種通信格式與協(xié)議進(jìn)行轉(zhuǎn)換。

      重復(fù)與唯一(冪等)

      冪等伴隨著請求的靠套投遞而產(chǎn)生,在發(fā)送請求時可能會存在如下幾個場景:接收端不一定要接收、接收端只能接收一次、接收端可重復(fù)接收。對于配置推送平臺,大多場景要求接收端可重復(fù)接收配置信息,但只保存最后一次消息即可;而對于一筆付款請求,如果重復(fù)發(fā)送,接收端要控制只能處理一次(即要進(jìn)行冪等控制)。

      最終一致

      在分布式系統(tǒng)架構(gòu)中,面對事務(wù)性業(yè)務(wù)有兩種選擇,一種是分布式事務(wù)、一種是最終一致性處理。分布式事務(wù)控制比較復(fù)雜,一般采用二階段提交的方式,其思想是要么成功要么失敗,注意要么失敗是指其中有一步出錯就全部回滾,看似是保證了數(shù)據(jù)一致性但實際業(yè)務(wù)卻失敗了。而最終一致性相對于分布式事務(wù)的核心思想是讓業(yè)務(wù)盡可能成功,即當(dāng)業(yè)務(wù)處理過程中可能會存在中間步驟失敗的情況,但通過補償邏輯可以保障失敗的步驟后續(xù)繼續(xù)執(zhí)行,此時就應(yīng)該盡可能的標(biāo)記業(yè)務(wù)成功。

      并行與串行

      將大量的計算分散到多個節(jié)點、多個進(jìn)程、多個線程進(jìn)行并行處理,是應(yīng)對大數(shù)據(jù)計算的常用技巧。而伴隨并行的就是串行(或者說是并發(fā)鎖)的處理,在分布式環(huán)境,并發(fā)鎖的可以通過數(shù)據(jù)庫、zookeeper等進(jìn)行實現(xiàn)。

      主動與被動

      主動與被動主要是針對客戶端如何獲取服務(wù)端內(nèi)容的場景,典型的就是消息隊列中的推模式(push)和拉模式(pull)。具體底層實現(xiàn)上,無外乎輪詢、長鏈接等等,其中使用輪詢不一定就是拉模型,很多推模型其底層也是通過輪詢實現(xiàn)的。

      同步與異步

      同步與異步也是經(jīng)常要面臨抉擇的事情,異步可以減少系統(tǒng)的阻塞,例如Ajax、消息隊列(還可以達(dá)到消峰填谷的作用)等等。此外流式計算與離線計算,也可以看做是同步與異步的衍生技術(shù)。再深一層次,會衍生批量計算、全量、增量等思想。

      點到為止

      限流:當(dāng)巨大的流量打過來時,通過犧牲部分請求處理可保證整個系統(tǒng)可用;

      降級:當(dāng)面對流量高峰時(例如大促)往往將次要的服務(wù)停掉,以便節(jié)省資源給主要服務(wù);另外當(dāng)某個服務(wù)不可用時,直接返回默認(rèn)結(jié)果也是降級的一種表現(xiàn);

      熔斷:對于金融系統(tǒng),當(dāng)出現(xiàn)bug時可能會造成資損,此時需要旁路系統(tǒng)進(jìn)行不斷的核對,當(dāng)發(fā)現(xiàn)異常時能夠及時終止處理。

      對于以上幾個方面,系統(tǒng)要能做到自動限流、自動降級和自動熔斷。

      以上一切問題都是由于量(數(shù)據(jù)量、請求量等等)產(chǎn)生的,當(dāng)量很小時不需要架構(gòu),通過增加內(nèi)存、CPU、機器等都能解決;當(dāng)量增加到一定的程度時,才需要考慮架構(gòu),而架構(gòu)的道與術(shù)卻又是“道可道,非常道,名可名,非常名”。


    【分布式系統(tǒng)架構(gòu)】相關(guān)文章:

    如何搭建系統(tǒng)CSS架構(gòu)12-31

    系統(tǒng)架構(gòu)設(shè)計模式大全08-22

    系統(tǒng)架構(gòu)師是做什么的12-30

    如何成為優(yōu)秀的系統(tǒng)架構(gòu)師06-03

    圖書檢索系統(tǒng)體系架構(gòu)研究12-05

    基于云架構(gòu)的系統(tǒng)安全設(shè)計08-08

    系統(tǒng)架構(gòu)師的就業(yè)前景分析01-11

    系統(tǒng)架構(gòu)設(shè)計師要素01-11

    系統(tǒng)架構(gòu)師必須具備哪些能力05-07

    MES系統(tǒng)安全架構(gòu)設(shè)計09-19

    主站蜘蛛池模板: 亚洲国产精品成人AV无码久久综合影院| 亚洲精品动漫免费二区| 久久久无码精品午夜| 97久久超碰国产精品旧版| 久久精品国产欧美日韩| 久久精品一区二区三区不卡| 亚洲中文字幕无码久久精品1 | 亚洲AV无码久久精品成人| 国产精品福利片免费看| 成人精品在线视频| 日韩精品久久久久久久电影蜜臀| 蜜桃麻豆www久久国产精品 | 色欲久久久天天天综合网精品 | 91精品国产成人网在线观看| 久久久国产精品亚洲一区| 欧美成人精品高清在线播放| 在线人成精品免费视频| 成人午夜精品视频在线观看| 日本午夜精品一区二区三区电影| 欧美精品黑人粗大欧| 国产午夜福利精品久久| 亚洲国产精品一区二区久久| 国产精品欧美久久久天天影视| 日韩精品无码AV成人观看| 亚洲日韩精品射精日| 午夜精品久久久久久| 日韩精品免费一线在线观看| 久久精品国产亚洲5555| 精品午夜福利1000在线观看| 国产在线观看高清精品| 国产精品国产高清国产专区| 99久久亚洲综合精品网站| 777欧美午夜精品影院| 91在线手机精品超级观看| 麻豆精品成人免费国产片| 国产伦精品一区二区三区女| 精品四虎免费观看国产高清午夜| 精品久久久久久亚洲| 久久99精品久久久久久| 精品国产欧美另类一区| 色偷偷888欧美精品久久久|