欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Spring Cloud Alibaba与Kubernetes微服务容器化实践
      • 作者:编者:曹宇//王宇翔//胡书敏|责编:王金柱
      • 出版社:清华大学
      • ISBN:9787302619499
      • 出版日期:2022/12/01
      • 页数:248
    • 售价:35.6
  • 内容大纲

        本书围绕分布式微服务的项目需求,全面讲述了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  动手练习