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

Spring Cloud Alibaba與Kubernetes微服務容器化實踐

  • 作者:編者:曹宇//王宇翔//胡書敏|責編:王金柱
  • 出版社:清華大學
  • ISBN:9787302619499
  • 出版日期:2022/12/01
  • 裝幀:平裝
  • 頁數:248
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書圍繞分散式微服務的項目需求,全面講述了Spring Cloud Alibaba組件實現服務治理、負載均衡、安全管理、分散式事務、消息發送和服務監控的技術要點,以及基於Docker與Kubernetes容器化項目管理的相關技術。主要內容包括:Spring Cloud Alibaba體系架構概述,用Nacos和Nacos集群搭建基於服務治理架構的實踐要點,用Ribbon實現負載均衡的做法,基於Sentinel組件實現熔斷和限流等安全需求的實踐要點,用Gateway組件搭建網關的實踐要點,用OpenFeign和Dubbo搭建遠程調用體系的實踐要點,基於Spring Cloud Stream搭建消息通信體系的實踐要點,用JPA與Redis與MyCat搭建微服務數據服務層的實踐要點,用Seata組件構建分散式事務架構的實踐要點和用Skywaiking組件搭建微服務監控體系的實踐要點,基於Docker與Kubernetes容器組件搭建微服務體系,用Jenkins組件實踐集成化項目部署流程的相關技術等內容。
    本書技術先進,注重實踐,適合有一定Java基礎的開發人員和學生閱讀,也可以供培訓機構和大專院校作為教學用書。

作者介紹
編者:曹宇//王宇翔//胡書敏|責編:王金柱

目錄
第1章  Spring Cloud Alibaba與微服務架構
  1.1  微服務架構與Alibaba解決方案
    1.1.1  單體架構與微服務架構
    1.1.2  微服務架構的優勢與挑戰
    1.1.3  Spring Cloud Alibaba微服務解決方案
    1.1.4  Spring Boot和Spring Cloud Alibaba的關係
  1.2  搭建開發環境
    1.2.1  安裝JDK
    1.2.2  安裝IntelliJ IDEA
    1.2.3  安裝Docker環境
  1.3  搭建Spring Boot單體服務
    1.3.1  在IDEA中創建Spring Boot項目
    1.3.2  編寫pom.xml
    1.3.3  編寫啟動類
    1.3.4  編寫控制器類
    1.3.5  編寫配置文件
    1.3.6  啟動Spring Boot,觀察運行效果
  1.4  動手練習
第2章  Spring Boot整合Nacos
  2.1  認識和安裝Nacos
    2.1.1  Nacos與註冊中心
    2.1.2  Nacos與配置中心
    2.1.3  搭建Nacos環境,啟動Nacos組件
    2.1.4  觀察可視化管理界面
  2.2  Spring Boot整合Nacos註冊中心
    2.2.1  引入註冊中心后的框架圖
    2.2.2  創建服務提供者項目
    2.2.3  創建服務消費者項目
    2.2.4  啟動Spring Boot類,觀察註冊中心的效果
  2.3  用Nacos配置中心管理配置參數
    2.3.1  在配置中心設置參數
    2.3.2  在項目中使用參數
  2.4  搭建高可用的Nacos集群
    2.4.1  配置Nacos的持久化效果
    2.4.2  搭建集群
    2.4.3  觀察集群效果
    2.4.4  以集群的方式管理配置
    2.4.5  以集群的方式管理服務
  2.5  動手練習
第3章  負載均衡組件Ribbon
  3.1  負載均衡與Ribbon組件
    3.1.1  微服務架構中的負載均衡需求
    3.1.2  Ribbon組件介紹
    3.1.3  Ribbon和Nacos的整合方式
  3.2  Ribbon實現負載均衡的範例
    3.2.1  項目框架圖
    3.2.2  編寫服務提供者項目
    3.2.3  在服務調用者項目里引入Ribbon
    3.2.4  觀察負載均衡效果
  3.3  Ribbon實戰要點分析

    3.3.1  設置不同的負載均衡策略
    3.3.2  配置全局性的Ribbon參數
    3.3.3  實現Ribbon飢餓載入模式
    3.3.4  Ribbon常用參數分析
  3.4  Ribbon整合Nacos註冊中心集群
    3.4.1  整合后的系統架構
    3.4.2  Ribbon整合Nacos集群的實現步驟
  3.5  動手練習
第4章  限流與防護組件Sentinel
  4.1  微服務體系中的限流和防護需求
    4.1.1  限流
    4.1.2  熔斷
    4.1.3  服務降級
  4.2  Sentinel組件介紹
    4.2.1  搭建Sentinel環境
    4.2.2  啟動Sentinel控制台
  4.3  通過Sentinel實現限流
    4.3.1  創建項目,引入依賴包
    4.3.2  編寫啟動類和配置文件
    4.3.3  編寫控制器類
    4.3.4  在控制台里設置限流參數
    4.3.5  觀察限流效果
  4.4  實現熱點限流效果
    4.4.1  定義熱點限流方法
    4.4.2  設置熱點限流參數
    4.4.3  觀察熱點限流效果
    4.4.4  配置參數例外項
  4.5  實現熔斷效果
    4.5.1  定義含熔斷效果的方法
    4.5.2  設置慢調用比例熔斷參數
    4.5.3  觀察熔斷效果
    4.5.4  設置異常熔斷參數
  4.6  實現服務降級效果
    4.6.1  實現因限流而導致的服務降級
    4.6.2  通過fallback參數實現服務降級
    4.6.3  服務降級的實踐做法
  4.7  動手練習
第5章  網關組件Gateway
  5.1  Gateway網關組件概述
  5.2  在微服務體系中引入Gateway組件
    5.2.1  編寫業務方法
    5.2.2  創建網關項目
    5.2.3  實現簡單轉發功能
    5.2.4  網關的過濾器
    5.2.5  網關的全局過濾器
    5.2.6  網關的斷言
  5.3  Gateway整合Nacos,實現負載均衡
    5.3.1  Gateway整合Nacos的架構圖
    5.3.2  基於Nacos的業務集群
    5.3.3  以負載均衡的方式轉發請求

  5.4  Gateway整合Sentinel和Nacos
    5.4.1  整合后的架構圖
    5.4.2  搭建網關層項目
    5.4.3  啟動項目和組件
    5.4.4  根據路由規則限流
    5.4.5  根據API分組限流
    5.4.6  配置服務熔斷效果
  5.5  通過Gateway實現灰度發布
    5.5.1  灰度發布的做法
    5.5.2  準備灰度發布的環境
    5.5.3  用Gateway實現灰度發布
    5.5.4  觀察灰度發布的效果
  5.6  動手練習
第6章  聲明式服務調用框架OpenFeign
  6.1  OpenFeign框架概述
  6.2  使用OpenFeign框架調用服務
    6.2.1  基於Nacos的服務提供者
    6.2.2  OpenFeign調用服務實現代碼
    6.2.3  觀察OpenFeign的效果
    6.2.4  設置超時時間
    6.2.5  設置OpenFeign的日誌級別
    6.2.6  壓縮請求和返回
  6.3  實現負載均衡和服務降級
    6.3.1  搭建業務集群
    6.3.2  以負載均衡方式調用服務
    6.3.3  觀察負載均衡效果
    6.3.4  引入服務降級效果
  6.4  動手練習
第7章  遠端調用組件Dubbo
  7.1  Dubbo組件概述
    7.1.1  遠端方法調用流程和Dubbo組件
    7.1.2  使用Nacos作為註冊中心
    7.1.3  Dubbo和HTTP調用方式的差別
  7.2  Dubbo遠端調用範例
    7.2.1  編寫服務提供者
    7.2.2  編寫服務調用者
    7.2.3  定義超時時間和重試次數
    7.2.4  觀察遠端調用的效果
  7.3  註冊中心集群和負載均衡
    7.3.1  系統架構和項目說明
    7.3.2  實現要點分析
    7.3.3  觀察負載均衡和高可用效果
    7.3.4  設置Dubbo負載均衡方式
  7.4  整合Sentinel引入安全防護
    7.4.1  服務提供端的限流和熔斷
    7.4.2  服務提供端的服務降級
    7.4.3  服務調用端的服務降級
    7.4.4  Dubbo的安全措施分析
  7.5  動手練習
第8章  Spring Cloud Steam整合消息中間件

  8.1  消息中間件與Spring Cloud Stream框架
    8.1.1  RocketMQ消息中間件
    8.1.2  RabbitMQ消息中間件
    8.1.3  Spring Cloud Steam封裝消息中間件
  8.2  Spring Cloud Stream整合RocketMQ
    8.2.1  搭建RocketMQ環境
    8.2.2  整合后的消息框架圖
    8.2.3  編寫消息發送者項目
    8.2.4  編寫消息接收者項目
    8.2.5  觀察消息通信效果
  8.3  Spring Cloud Stream整合RabbitMQ
    8.3.1  搭建RabbitMQ環境
    8.3.2  整合后的消息框架圖
    8.3.3  編寫消息發送者項目
    8.3.4  編寫消息接收者項目
    8.3.5  觀察消息通信效果
  8.4  動手練習
第9章  JPA+Redis+MyCat搭建微服務資料庫服務層
  9.1  用JPA組件操作資料庫
    9.1.1  JPA訪問資料庫的介面
    9.1.2  創建MySQL資料庫和數據表
    9.1.3  通過JPA實現增刪改查功能
    9.1.4  觀察JPA操作資料庫的效果
  9.2  微服務整合Redis緩存
    9.2.1  Redis概述
    9.2.2  搭建Redis運行環境
    9.2.3  微服務整合Redis緩存
    9.2.4  微服務整合MySQL與Redis
  9.3  微服務整合MyCat分庫組件
    9.3.1  MyCat分庫組件概述
    9.3.2  搭建MyCat環境實現分庫效果
    9.3.3  微服務整合MyCat實現分庫效果
    9.3.4  微服務整合MyCat和Redis
  9.4  動手練習
第10章  Spring Cloud Alibaba Seata實現分散式事務
  10.1  分散式事務與Seata組件
    10.1.1  分散式業務和分散式事務
    10.1.2  Seata組件概述
    10.1.3  搭建Seata服務端開發環境
  10.2  用Seata實現分散式事務的範例
    10.2.1  資料庫和分散式事務描述
    10.2.2  開發庫存微服務項目
    10.2.3  在訂單項目里實現分散式事務
    10.2.4  觀察分散式事務效果
  10.3  搭建高可用的Seata集群
    10.3.1  Spring Cloud整合Seata集群的架構圖
    10.3.2  搭建Seata集群
    10.3.3  微服務項目整合Seata集群
  10.4  動手練習
第11章  微服務監控組件Skywalking

  11.1  服務監控與Skywalking組件
    11.1.1  微服務監控方面的需求
    11.1.2  Skywalking組件介紹
    11.1.3  搭建Skywalking組件運行環境
  11.2  微服務項目整合Skywalking組件
    11.2.1  介紹待監控的項目
    11.2.2  下載並配置agent
    11.2.3  監控項目運行情況
  11.3  整合logback監控整條鏈路
    11.3.1  服務鏈路框架
    11.3.2  整合logback,定義監控日誌格式
    11.3.3  觀察鏈路調用的日誌,觀察TID
  11.4  觀察Skywalking告警效果
    11.4.1  配置Skywalking告警規則
    11.4.2  觀察告警效果
    11.4.3  通過webhooks傳遞告警信息
  11.5  動手練習
第12章  Docker部署Spring Boot項目和微服務組件
  12.1  Docker與Spring Cloud微服務
    12.1.1  Docker鏡像、容器和虛擬化管理引擎
    12.1.2  搭建Docker環境
    12.1.3  用Docker管理微服務的方式
  12.2  容器化管理Spring Boot項目
    12.2.1  準備Spring Boot項目
    12.2.2  打成jar包
    12.2.3  用jar包製作鏡像
    12.2.4  以容器化的方式運行Spring Boot
  12.3  容器化管理組件
    12.3.1  容器化管理Nacos組件
    12.3.2  容器化管理Sentinel
    12.3.3  通過Docker容器部署MySQL
    12.3.4  通過Docker容器部署Redis
  12.4  動手練習
第13章  Docker部署Spring Cloud Alibaba微服務項目
  13.1  員工管理微服務系統架構分析
    13.1.1  微服務項目的表現形式與優勢
    13.1.2  基於Docker容器的微服務架構
    13.1.3  業務功能點與數據表結構
  13.2  開發員工管理微服務項目
    13.2.1  開發員工管理模塊
    13.2.2  開髮網關模塊
  13.3  容器化部署員工管理微服務
    13.3.1  打包員工管理和網關模塊
    13.3.2  容器化部署並運行MySQL和Redis
    13.3.3  容器化部署並運行Nacos和Sentinel
    13.3.4  容器化部署員工管理模塊
    13.3.5  容器化部署網關模塊
    13.3.6  觀察微服務容器化效果
    13.3.7  引入限流和熔斷措施
  13.4  擴容與灰度發布

    13.4.1  演示擴容效果
    13.4.2  演示灰度發布流程
  13.5  動手練習
第14章  Kubernetes整合Spring Boot
  14.1  Kubernetes概述
    14.1.1  Kubernetes的作用
    14.1.2  準備Kubernetes環境
    14.1.3  Kubernetes與Docker容器的關係
    14.1.4  Kubernetes的Service
    14.1.5  Kubernetes的Labels
    14.1.6  Deployment的概念
  14.2  用Kubernetes編排Spring Boot容器
    14.2.1  基於Spring Boot的Docker容器
    14.2.2  編寫Service和Deployment配置文件
    14.2.3  通過命令編排Spring Boot容器
    14.2.4  觀察Pod、Service和Deployment
    14.2.5  查看Pod運行日誌
  14.3  Kubernetes常用實戰技巧
    14.3.1  刪除Pod、Service和Deployment
    14.3.2  伸縮節點
    14.3.3  自動伸縮節點
    14.3.4  創建Deployment並開放埠
    14.3.5  進入Pod,執行命令
  14.4  用Ingress暴露服務
    14.4.1  Ingress簡介
    14.4.2  Ingress整合Service的做法
  14.5  動手練習
第15章  用Kubernetes編排Spring Cloud Alibaba微服務
  15.1  用Kubernetes編排組件
    15.1.1  編排MySQL
    15.1.2  編排Redis
    15.1.3  StatefulSet和Deployment的差別
    15.1.4  用StatefulSet編排Nacos
    15.1.5  用StatefulSet編排Sentinel
  15.2  用Kubernetes編排員工管理模塊
    15.2.1  微服務框架說明
    15.2.2  員工管理項目的實現要點
    15.2.3  編排員工管理微服務模塊
    15.2.4  觀察Kubernetes編排微服務項目的效果
    15.2.5  引入限流和熔斷等效果
    15.2.6  編排微服務項目的實踐要點
  15.3  動手練習
第16章  基於Jenkins的微服務CI/CD實戰
  16.1  Git工具與持續集成概述
    16.1.1  持續集成概述
    16.1.2  搭建Git代碼倉庫
    16.1.3  安裝Git組件
    16.1.4  在IDEA里整合Git
  16.2  用Git實踐持續集成
    16.2.1  待管理的項目代碼綜述

    16.2.2  在Git倉庫中初始化項目
    16.2.3  在本地獲取遠端項目代碼
    16.2.4  創建開發分支
    16.2.5  提交和推送代碼
    16.2.6  把開發代碼合併到主分支
  16.3  通過Jenkins實踐持續交付
    16.3.1  持續交付概述
    16.3.2  持續交付需求概述
    16.3.3  在本地搭建Jenkins環境
    16.3.4  創建Jenkins任務
    16.3.5  觀察持續交付的實施結果
  16.4  動手練習

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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