日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

《架构设计2.0大型分布式系统架构方法论与实践》三高笔记

發(fā)布時間:2024/3/13 windows 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《架构设计2.0大型分布式系统架构方法论与实践》三高笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

    • 前言
    • 高并發(fā)
      • 高并發(fā)讀
        • 動靜分離與CDN加速
        • 緩存
        • 并發(fā)讀與Pipeline
        • 重寫輕讀
        • 讀寫分離
        • 批量
      • 高并發(fā)寫
        • 數(shù)據(jù)分片
        • 任務(wù)分片
        • 異步化
        • 批量
    • 高可靠
      • 七板斧
    • 高可用
      • 高可用架構(gòu)幾個核心問題

前言

  • 因為本人沒多少三高的實戰(zhàn)經(jīng)驗,所以對《架構(gòu)設(shè)計2.0大型分布式系統(tǒng)架構(gòu)方法論與實踐》這本書的三高比較感興趣,在此做個記錄,并加入一點自己的理解(如果有錯誤的地方請批評指出,感激不盡)。
  • 何為三高?
    • 高并發(fā):高并發(fā)是為了讓系統(tǒng)變得更有效率。
    • 高可靠:為了讓系統(tǒng)變得更靠譜,盡可能減少故障發(fā)生次數(shù)。
    • 高可用:為了故障發(fā)生后,故障恢復時間盡可能的短。

高并發(fā)

  • 高并發(fā):高并發(fā)是為了讓系統(tǒng)變得更有效率。高并發(fā)又可以分為幾種側(cè)重類型:高并發(fā)讀、高并發(fā)寫、高并發(fā)讀寫。

高并發(fā)讀

動靜分離與CDN加速

  • 靜態(tài)內(nèi)容常用的處理策略就是CDN。

緩存

  • 本地緩存或集中式緩存(如Redis/Memcached)。

并發(fā)讀與Pipeline

  • 并發(fā)讀:串行改并行,可以使用FutureTask、CompleteService、CompletableFuture實現(xiàn),FutureTask使用具體可參考拙作使用FutureTask優(yōu)化業(yè)務(wù)代碼。

  • Pipeline:多個Get操作一個個發(fā)出去,不等等返回結(jié)果,就像流入一個管道一樣,結(jié)果從另一個管道流出。這塊很像HTTP Pipeline。

重寫輕讀

  • 書中舉例微博Feeds流,要查詢用戶Feeds流時,要先查詢關(guān)注的用戶列表,不利于高并發(fā)查詢,所以為每個用戶準備一個收件箱。某人發(fā)了條微博后,給粉絲的信箱都投遞一條數(shù)據(jù)。這樣把計算邏輯從“讀”的一端移到了“寫”的一端。
  • 寬表:其實就是冗余字段。

讀寫分離

  • 例如MySQL可以做集群,讀寫分離,讀的節(jié)點可以多一些。

批量

  • 可以參考拙作高并發(fā)場景下請求合并(批量)。

高并發(fā)寫

數(shù)據(jù)分片

  • 例如MySQL分庫分表。

任務(wù)分片

  • 任務(wù)分片:例如把生產(chǎn)汽車的過程分成多道工序。雖然對每輛汽車來說依舊是串行的,但工序之間是并行的。對應(yīng)代碼與FutureTask的含義有所關(guān)聯(lián),FutureTask使用具體可參考拙作使用FutureTask優(yōu)化業(yè)務(wù)代碼。

異步化

  • 書中舉例短信驗證碼的例子:請求發(fā)送驗證碼加入到消息隊列,由另一個程序消費。

批量

  • 書中提到了廣告計費系統(tǒng)的合并扣費,把用戶分組,多個扣款的請求合并成一個,也就是說只需要調(diào)用一次數(shù)據(jù)庫,減少了數(shù)據(jù)庫壓力,也提高了執(zhí)行效率。雖然這是高并發(fā)寫,但同樣可以參考拙作高并發(fā)場景下請求合并(批量)。

高可靠

  • 高可靠:為了讓系統(tǒng)變得更靠譜,盡可能減少故障發(fā)生次數(shù)??偨Y(jié)下面7個有效措施。

七板斧

  • 1、限流
  • 2、降級
  • 3、熔斷
  • 4、超時與重試
  • 5、隔離
  • 6、灰度發(fā)布、滾動發(fā)布、備份、回滾
  • 7、監(jiān)控體系和日志報警

高可用

  • 高可用:為了故障發(fā)生后,故障恢復時間盡可能的短。要想快速恢復,要避免單點。

高可用架構(gòu)幾個核心問題

  • 故障探測。
  • 腦裂問題。
  • 數(shù)據(jù)一致性。
  • 對客戶端透明。
  • 高可用依賴的連環(huán)套問題。

總結(jié)

以上是生活随笔為你收集整理的《架构设计2.0大型分布式系统架构方法论与实践》三高笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。