內容簡介
許多開發者掌握了Java、Spring Boot和MySQL等基礎知識后,能夠搭建一個簡單的單體系統,但面對複雜系統的構建和管理時,往往感到迷茫和力不從心:對於高性能、高可用、高併發的分散式系統一頭霧水,束手無策。 本書首先介紹從單體架構到微服務架構的演化過程,幫助讀者開闊技術視野。然後帶領讀者擺脫單體架構的束縛,深入領略集群、主從架構、分庫分表、讀寫分離、微服務、API網關、NoSQL資料庫、HDFS、分散式事務等分散式技術的無限魅力。此外,本書深入剖析了如何運用Kafka、RabbitMQ、RocketMQ等消息中間件和Elasticsearch搜索引擎來解耦應用,如何利用Docker、Kubernetes快速部署與隔離應用,以及如何藉助冗餘備份、高可用和異地多活策略保障系統穩定運行,讓系統煥發新生。最後通過「支持5000萬用戶同時在線的短視頻系統設計」和「日均訂單量8000萬的外賣系統設計」兩個實際項目將理論與實踐結合,向讀者展示如何將這些技術應用於真實的生產環境中,提升實際項目中的技術能力。 本書適合已經掌握Java、Spring Boot、MySQL等知識,能夠開發一個簡單的後端應用,卻在單體系統的束縛中力不從心、對後續的技術學習感到迷茫、對複雜系統不知所措、迫切期待實現技術飛躍的讀者。本書為他們提供了從簡單到複雜的技術成長路徑和解決方案。作者簡介
張偉洋,大數據領域資深專家,擁有多年頂尖互聯網公司軟體研發經驗,曾在互聯網旅遊公司任軟體研發事業部經理。目前從事大數據項目講師工作,先後多次給各大高校舉行大數據專題講座,對Hadoop及周邊大數據框架ZooKeeper、Hive、HBase、Storm、Spark、Flink等有著深入的研究。高等院校雲計算與大數據專業課改教材《雲計算與大數據概論》《大數據開發與應用》的主要編寫者。目錄
第1篇 後端體系架構認知