幫助中心 | 我的帳號 | 關於我們

分散式微服務架構(原理與實戰)

  • 作者:黃文毅
  • 出版社:清華大學
  • ISBN:9787302537816
  • 出版日期:2019/11/01
  • 裝幀:平裝
  • 頁數:362
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    隨著互聯網技術的發展,系統架構由單體架構、垂直MVC架構、SOA服務化、分散式服務演變到分散式微服務架構,這是互聯網企業架構的必經之路。分散式微服務架構涵蓋的技術面廣,知識點多。本書旨在讓更多電腦從業者熟悉一個完整的分散式微服務架構所涉及的基礎概念、涵蓋的技術以及實戰開發。
    本書蘊含的知識體系甚廣,第1~2章主要講解架構是如何向前演化發展的以及閱讀本書之前需要準備的環境。第3~5章主要講解服務之間的RPC調用、通信協議等。第6~7章主要講解服務路由以及服務註冊中心的原理和實踐。第8章主要講解服務調用。第9章主要講解服務容器化以及如何部署和發布服務。第10~11章主要講解服務限流、降級、容錯以及熔斷等技術。第12~13章主要講解如何搭建服務日誌和監控體系。第15章主要講解配置中心的原理以及如何搭建配置中心。第16章主要講解分散式資料庫、分散式緩存、分散式事務、分散式Session以及服務如何通過Kafka解耦。第17章主要講解微服務如何測試。第18章主要講解目前主流的分散式微服務架構案例。
    本書適用於所有Java編程語言開發人員、分散式微服務架構愛好者以及電腦專業的學生等。

作者介紹
黃文毅
   黃文毅,CSDN博客專家,高級軟體工程師。先後就職于廈門星耀藍圖、上海美團等科技公司,目前就職于廈門美圖科技有限公司,從事Java開發工作。具有豐富的軟體開發經驗,熟悉Java、高併發、大數據及相關軟體架構。出版《公布式微服務架構:原理與實踐》《Spring 5企業級開發實戰》(與人合著)《Spring MVC+MyBatis快速開發與項目實戰》等多部技術圖書。

目錄
第1章  從架構演進啟程
  1.1  水平分層架構
    1.1.1  應用架構概述
    1.1.2  MVC架構/水平分層架構
  1.2  SOA服務化架構
    1.2.1  SOA概述
    1.2.2  SOA的特徵
    1.2.3  SOA面臨的問題
  1.3  分散式微服務架構
    1.3.1  微服務概述
    1.3.2  SOA與微服務
    1.3.3  微服務架構的特點
    1.3.4  微服務架構的缺點
    1.3.5  微服務架構全景圖
    1.3.6  微服務類型
    1.3.7  微服務拆分原則與步驟
第2章  微服務開發框架
  2.1  環境準備
    2.1.1  安裝JDK
    2.1.2  安裝 Intellij IDEA
    2.1.3  安裝 Apache Maven
  2.2  一分鐘快速搭建Spring Boot項目
    2.2.1  使用Spring Initializr新建項目
    2.2.2  測試
  2.3  Spring Boot簡單介紹
    2.3.1  Spring Boot核心功能及特性
    2.3.2  Spring Boot的缺點
  2.4  Spring Boot目錄介紹
    2.4.1  Spring Boot工程目錄
    2.4.2  Spring Boot入口類
    2.4.3  Spring Boot測試類
    2.4.4  pom文件
  2.5  Spring Boot生產級特性
    2.5.1  應用監控
    2.5.2  健康檢查
    2.5.3  跨域訪問
    2.5.4  外部配置
第3章  分散式RPC框架
  3.1  RPC框架概述
    3.1.1  RPC的定義
    3.1.2  RPC核心組件
    3.1.3  RPC調用過程
    3.1.4  RPC框架調用分類
    3.1.5  RPC框架性能
    3.1.6  RPC框架與分散式服務框架
  3.2  RPC框架
    3.2.1  RMI遠程方法調用
    3.2.2  Thrift
    3.2.3  Hessian
    3.2.4  Avro-RPC

    3.2.5  gRPC
    3.2.6  其他RPC框架
第4章  序列化與反序列化
  4.1  序列化與反序列化
    4.1.1  序列化/反序列化概念
    4.1.2  序列化/反序列化特性
  4.2  常用序列化框架
    4.2.1  Java默認序列化
    4.2.2  XML序列化框架
    4.2.3  JSON序列化框架
    4.2.4  ProtoBuf序列化框架
第5章  微服務底層通信與協議
  5.1  Java網路通信
    5.1.1  傳統BIO編程
    5.1.2  偽非同步I/O編程
    5.1.3  NIO編程
  5.2  Netty框架
    5.2.1  Netty概述
    5.2.2  第一個Netty應用程序
    5.2.3  Netty架構設計
  5.3  分散式服務框架協議
    5.3.1  主流公有協議
    5.3.2  私有協議設計
第6章  服務路由與負載均衡
  6.1  服務路由概述
    6.1.1  服務路由的定義
    6.1.2  服務信息存放方式
  6.2  負載均衡概述
    6.2.1  Nginx的定義
    6.2.2  負載均衡的實現
    6.2.3  負載均衡演算法
第7章  微服務註冊中心
  7.1  了解微服務註冊中心
    7.1.1  註冊中心幾個概念
    7.1.2  註冊中心
  7.2  ZooKeeper實現服務註冊中心
    7.2.1  ZooKeeper概述
    7.2.2  ZooKeeper的原理
    7.2.3  ZooKeeper的安裝
    7.2.4  ZooKeeper搭建集群環境
    7.2.5  ZooKeeper集群總體架構
    7.2.6  命令行客戶端zkCli.sh
    7.2.7  ZkClient連接ZooKeeper
    7.2.8  ZooKeeper實現服務註冊與發現
第8章  微服務框架服務調用與容錯
  8.1  服務調用概述
  8.2  服務調用方式
    8.2.1  同步服務調用
    8.2.2  非同步服務調用
    8.2.3  並行服務調用

    8.2.4  泛化調用
第9章  分散式微服務封裝與部署
  9.1  微服務封裝技術
    9.1.1  Docker概述
    9.1.2  Docker的基本概念
    9.1.3  Docker架構
    9.1.4  Docker的安裝
    9.1.5  Docker的常用命令
    9.1.6  製作鏡像
    9.1.7  使用Dockerfile構建鏡像
    9.1.8  Spring Boot集成Docker
  9.2  微服務部署概述
    9.2.1  藍綠部署
    9.2.2  滾動發布
    9.2.3  灰度發布/金絲雀部署
第10章  分散式服務限流
  10.1  服務限流概述
    10.1.1  限流定義
    10.1.2  限流演算法
  10.2  限流設計
    10.2.1  限流設計原理
    10.2.2  分級限流
第11章  服務降級、熔斷、調度
  11.1  服務降級概述
  11.2  服務降級方式
    11.2.1  服務降級開關
    11.2.2  自動降級
    11.2.3  讀服務降級
    11.2.4  寫服務降級
  11.3  服務容錯策略
    11.3.1  失敗轉移(Failover)
    11.3.2  失敗自動恢復(Failback)
    11.3.3  快速失敗(Failfast)
    11.3.4  失敗緩存(FailCache)
  11.4  Hystrix降級、熔斷
    11.4.1  Hystrix簡介
    11.4.2  Hystrix實現降級/熔斷
  11.5  服務優先順序設計
    11.5.1  服務實例數量調整
    11.5.2  加權優先順序隊列
    11.5.3  線程調度器
第12章  服務版本與服務發布
  12.1  服務概述
  12.2  服務版本
    12.2.1  服務版本概述
    12.2.2  Snapshot和Release
  12.3  服務發布
    12.3.1  服務發布概述
    12.3.2  服務發布方式
第13章  分散式微服務日誌中心

  13.1  分散式日誌概述
    13.1.1  結構化日誌/非結構化日誌
    13.1.2  日誌類型
  13.2  日誌框架
    13.2.1  JDK Logger
    13.2.2  Apache Commons Logging
    13.2.3  Log4j/Log4j 2
    13.2.4  Spring Boot集成Log4j
    13.2.5  Docker日誌框架
    13.2.6  Linux系統Syslog
  13.3  搭建日誌中心
    13.3.1  ELK概述
    13.3.2  Elasticsearch日誌存儲
    13.3.3  Logstash日誌收集
    13.3.4  Fluentd日誌收集
    13.3.5  Kibana日誌查詢
    13.3.6  ELK架構與Docker整合
    13.3.7  ELK架構原理
第14章  分散式微服務監控
  14.1  分散式服務架構監控
    14.1.1  監控的價值
    14.1.2  監控的完整體系
    14.1.3  微服務監控類型
    14.1.4  Spring Boot應用監控
    14.1.5  Spring Boot Admin監控系統
  14.2  搭建系統監控中心
    14.2.1  概述
    14.2.2  時序數據收集系統:cAdvisor
    14.2.3  時序數據存儲系統:InfluxDB
    14.2.4  時序數據分析系統:Grafana
    14.2.5  集成InfluxDB + cAdvisor + Grafana
第15章  分散式微服務配置中心
  15.1  配置中心概述
    15.1.1  配置概述
    15.1.2  配置中心解決問題
    15.1.3  全局配置
    15.1.4  配置中心
  15.2  Spring Cloud Config
    15.2.1  Spring Cloud Config概述
    15.2.2  Spring Cloud Config快速入門
第16章  分散式微服務存儲與解耦
  16.1  分散式資料庫架構
    16.1.1  分庫
    16.1.2  分表
    16.1.3  水平切分的方式
    16.1.4  垂直切分的方式
    16.1.5  分組
    16.1.6  Mycat分庫分表實戰
    16.1.7  Spring+MyBatis+Mycat快速體驗
  16.2  分散式事務

    16.2.1  資料庫事務
    16.2.2  分散式事務
    16.2.3  CAP定理
    16.2.4  BASE理論
    16.2.5  兩階段提交(2PC)
    16.2.6  補償事務(TCC)
    16.2.7  後置提交
    16.2.8  本地消息表(非同步確保)
  16.3  分散式緩存架構
    16.3.1  Memcache與Redis
    16.3.2  進程內緩存
    16.3.3  Redis單節點安裝
    16.3.4  Redis持久化策略
    16.3.5  Redis主從複製模式
    16.3.6  Redis哨兵模式
    16.3.7  Redis哨兵模式安裝部署
    16.3.8  Redis集群模式
    16.3.9  Redis集群環境搭建
    16.3.10  Redis緩存穿透和雪崩
  16.4  微服務解耦
    16.4.1  服務解耦概述
    16.4.2  Kafka介紹
    16.4.3  Kafka安裝
    16.4.4  Kafka搭建集群環境
    16.4.5  Kafka Manager的安裝
    16.4.6  Kafka常用命令
    16.4.7  Spring Boot集成Kafka
  16.5  分散式服務Session
    16.5.1  Session與Cookie
    16.5.2  Session一致性問題
    16.5.3  Session同步
第17章  分散式微服務測試
  17.1  分散式微服務測試
    17.1.1  微服務測試概述
    17.1.2  微服務測試
  17.2  Spring Boot單元測試
  17.3  Mockito/PowerMockito測試框架
    17.3.1  Mockito概述
    17.3.2  Mockito簡單實例
    17.3.3  PowerMock概述
    17.3.4  PowerMockito簡單實例
  17.4  H2內存型資料庫
    17.4.1  H2概述
    17.4.2  Spring Boot集成H2
  17.5  REST API測試
    17.5.1  Postman概述
    17.5.2  Postman簡單使用
  17.6  性能測試
    17.6.1  ab概述
    17.6.2  ab測試

    17.6.3  其他性能測試工具
第18章  分散式微服務架構經典案例
  18.1  微服務架構案例
    18.1.1  微服務架構概述
    18.1.2  微服務架構平台選擇
    18.1.3  微服務介面類型
  18.2  分散式服務框架Dubbo
    18.2.1  Dubbo概述
    18.2.2  Dubbo原理
  18.3  Spring Boot + Spring Cloud解決方案
    18.3.1  Spring Boot概述
    18.3.2  Spring Cloud概述
    18.3.3  微服務、Spring Boot、Spring Cloud的關係
    18.3.4  Spring Cloud與Dubbo的優劣
  18.4  Spring Boot + Kubernetes + Docker解決方案
    18.4.1  Docker概述
    18.4.2  Kubernetes概述
    18.4.3  Kubernetes的基本概念
    18.4.4  Kubernetes的使用
    18.4.5  Kubernetes的架構
    18.4.6  Kubernetes集群監控
    18.4.7  Kubernetes集群日誌管理
    18.4.8  Kubernetes解決方案
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032