天天看點

架構概論及架構演變史

架構概論

  • Reliable Scalable Distributed(可靠的、可擴充的、分布式的),高并發,可靠性,性能
    • Distributed Middleware(分布式中間件)
    • Micro Service(微服務)
  • DevOps(開發運維一體化),Docker,K8s,CI/CD
  • Service Mesh,解決性能問題,每一個實體節點上有一個代理節點,節點與節點之間通信,代理節點完成末端的統一接口,這樣就可以讓我們的叢集網絡通信、開發成本降低
  • AIOps(人工智能運維)
    • ChatOps(聊天室運維)
    • Serviceless(無服務化)

頂層設計

  • 按需、預期未來,規劃企業架構
  • 業務全局出發,制定可落地的架構方案
  • 技術選型、難題解決規劃
  • 方案與代碼,廣度與深度
  • 技術+管理(人,資源,技術)

核心需求

  • 分布式、高并發、高性能、高可用、可擴充、松耦合、高内聚、可複用、邊界、安全、成本、規模等等
  • 服務、緩存、消息、搜尋、排程、任務、資料、監控、配置、網關等等
  • Paxos、CAP、BASE、ACID、raft、rpc、Reactor、SLA、SLB等等

關鍵詞彙

  • 緩沖 Buffer:解決上下遊速度不比對的問題,消息隊列、批處理都屬于 Buffer
  • 緩存 Cache:解決 I/O 性能問題,在記憶體中存儲熱點資料,提升慢速磁盤 I/O 和程式使用的過程,PageCache、記憶體到 CPU 中的三級緩存、Redis、本地緩存等都屬于 Cache
  • 複用 Pool:降低複雜度,提升性能,連接配接池、線程池、記憶體池、對象池都屬于 Pool
  • 分治 Sharding:分而治之,單機、叢集都适用,降低時間複雜度
  • 親密(粘性)sticky:讓某一個線程親密到某一顆 CPU上,将相同 id 的商品路由到一台機器上,或者是将相同 ip 位址/相同 session 在負載均衡時負載到一台機器上,這樣可以減少資源的重複配置設定,ThreadLocal、資料路由等都屬于 sticky
  • 權衡 Balance or trade-off:技術選型,在技術之間做一個均衡
喝啤酒理論:假設你住在24層,在1層有12瓶啤酒,現在你想喝啤酒,但是有一個要求,你必須把啤酒從1層帶到24層去喝,你可以有兩種選擇:一種是每次拿1瓶回去喝,另一種是拿個箱子把12瓶酒全部裝回去喝。很顯然,第二種方式是更優的,它相比第一種方式,減少了來回跑動所付出的代價。這種理論實際上就展現了緩沖的概念。

技術詞彙:

  • QPS:Queries Per Second(2/8 定理:0.8并發量/0.2天秒)
  • TPS:Transactions Per Second
  • RT:Response-time
  • PV:Page View
  • UV:Unique Visitor
  • 并發數:同時通路伺服器站點的連接配接數
  • 線程數:((挂起時間+運作時間)/ 運作時間 )* CPU 2倍(狀态(挂起,運作)->時間)
各種中間件的性能: https://help.aliyun.com/

書籍推薦

1、大型網站技術架構:核心原理與案例分析

2、分布式服務架構原理與實踐

3、網際網路創業核心技術:建構可伸縮的web應用

4、高擴充性網站的50條原則

5、架構即未來:現代企業可擴充的Web架構、流程群組織

6、系統架構:複雜系統的産品設計與開發

7、Java性能優化權威指南

8、大規模分布式存儲系統:原了解析與架構實戰

9、大規模分布式系統架構與設計實戰

10、企業IT架構轉型之道:阿裡巴巴中台戰略思想與架構實戰

11、盡在雙11:阿裡巴巴技術演進與超越

12、大型網站系統與Java中間件實踐

13、架構探險—從零開始寫Java Web架構

14、架構探險:從零開始寫分布式服務架構

15、軟體架構師的12項修煉

16、Web資訊架構設計大型網站

17、深入分析Java Web技術内幕(修訂版)

18、實用負載均衡技術:網站性能優化攻略

19、ZeroC Ice權威指南

20、架構之美

從過去到未來

  • 從web server到web container
  • Servlet從NIO到WebSocket
  • 同步到異步
架構概論及架構演變史

AFK拆分原則

  • 前後端分離原則
  • 服務無狀态原則
  • 通信無狀态原則
架構概論及架構演變史
https://www.jianshu.com/nb/45663848