展开全部

主编推荐语

《Spring Cloud与Docker微服务实战》:微服务理论、开发框架、运行平台一站式学习。

内容简介

作为一部帮助大家实现微服务架构落地的作品,《Spring Cloud与Docker微服务架构实战》覆盖了微服务理论、微服务开发框架(Spring Cloud)以及运行平台(Docker)三大主题。全书可分为三部分,第1章对微服务架构进行了系统的介绍;第2-11章使用Spring Cloud开发框架编写了一个“电影售票系统”;第12-14章则讲解了如何将微服务应用运行在Docker之上。全书Demo驱动学习,以连贯的场景、具体的代码示例来引导读者学习相关知识,最终使用特定的技术栈实现微服务架构的落地。

目录

  • 版权信息
  • 内容简介
  • 序1
  • 序2
  • 序3
  • 序4
  • 前言
  • 排版约定
  • 读者服务
  • 1 微服务架构概述
  • 1.1 单体应用架构存在的问题
  • 1.2 如何解决单体应用架构存在的问题
  • 1.3 什么是微服务
  • 1.4 微服务架构的优点与挑战
  • 1.4.1 微服务架构的优点
  • 1.4.2 微服务架构面临的挑战
  • 1.5 微服务设计原则
  • 1.6 如何实现微服务架构
  • 1.6.1 技术选型
  • 1.6.2 架构图及常用组件
  • 2 微服务开发框架——Spring Cloud
  • 2.1 Spring Cloud简介
  • 2.2 Spring Cloud特点
  • 2.3 Spring Cloud版本
  • 2.3.1 版本简介
  • 2.3.2 子项目一览
  • 2.3.3 Spring Cloud/Spring Boot版本兼容性
  • 3 开始使用Spring Cloud实战微服务
  • 3.1 Spring Cloud实战前提
  • 3.1.1 技术储备
  • 3.1.2 工具及软件版本
  • 3.2 服务提供者与服务消费者
  • 3.3 编写服务提供者
  • 3.3.1 手动编写项目
  • 3.3.2 使用Spring Initializr快速创建Spring Boot项目
  • 3.4 编写服务消费者
  • 3.5 为项目整合Spring Boot Actuator
  • 3.6 硬编码有哪些问题
  • 4 微服务注册与发现
  • 4.1 服务发现简介
  • 4.2 Eureka简介
  • 4.3 Eureka原理
  • 4.4 编写Eureka Server
  • 4.5 将微服务注册到Eureka Server上
  • 4.6 Eureka Server的高可用
  • 4.6.1 编写高可用Eureka Server
  • 4.6.2 将应用注册到Eureka Server集群上
  • 4.7 用户认证
  • 4.7.1 为Eureka Server添加用户认证
  • 4.7.2 将微服务注册到需认证的Eureka Server
  • 4.8 Eureka的元数据
  • 4.8.1 改造用户微服务
  • 4.8.2 改造电影微服务
  • 4.9 Eureka Server的REST端点
  • 4.9.1 示例
  • 4.9.2 注销微服务实例
  • 4.10 Eureka的自我保护模式
  • 4.11 多网卡环境下的IP选择
  • 4.12 Eureka的健康检查
  • 4.13 排除Jersey依赖
  • 5 使用Ribbon实现客户端侧负载均衡
  • 5.1 Ribbon简介
  • 5.2 为服务消费者整合Ribbon
  • 5.3 Ribbon配置自定义
  • 5.3.1 使用Java代码自定义Ribbon配置
  • 5.3.2 使用属性自定义Ribbon配置
  • 5.4 脱离Eureka使用Ribbon
  • 5.5 饥饿加载
  • 6 使用Feign实现声明式REST调用
  • 6.1 Feign简介
  • 6.2 为服务消费者整合Feign
  • 6.3 自定义Feign配置
  • 6.3.1 使用Java代码自定义Feign配置
  • 6.3.2 使用属性自定义Feign配置
  • 6.4 手动创建Feign
  • 6.4.1 修改用户微服务
  • 6.4.2 修改电影微服务
  • 6.5 Feign对继承的支持
  • 6.6 Feign对压缩的支持
  • 6.7 Feign的日志
  • 6.7.1 编码方式设置日志级别
  • 6.7.2 使用属性配置日志级别
  • 6.8 使用Feign构造多参数请求
  • 6.8.1 GET请求多参数的URL
  • 6.8.2 POST请求包含多个参数
  • 6.9 使用Feign上传文件
  • 7 使用Hystrix实现微服务的容错处理
  • 7.1 实现容错的手段
  • 7.1.1 雪崩效应
  • 7.1.2 如何容错
  • 7.2 使用Hystrix实现容错
  • 7.2.1 Hystrix简介
  • 7.2.2 通用方式整合Hystrix
  • 7.2.3 Hystrix断路器的状态监控与深入理解
  • 7.2.4 Hystrix线程隔离策略与传播上下文
  • 7.2.5 Feign使用Hystrix
  • 7.3 Hystrix的监控
  • 7.4 使用Hystrix Dashboard可视化监控数据
  • 7.5 使用Turbine聚合监控数据
  • 7.5.1 Turbine简介
  • 7.5.2 使用Turbine监控多个微服务
  • 7.5.3 使用消息中间件收集数据
  • 8 使用Zuul构建微服务网关
  • 8.1 为什么要使用微服务网关
  • 8.2 Zuul简介
  • 8.3 编写Zuul微服务网关
  • 8.4 管理端点
  • 8.4.1 routes端点
  • 8.4.2 filters端点
  • 8.5 路由配置详解
  • 8.6 Zuul的安全与Header
  • 8.6.1 敏感Header的设置
  • 8.6.2 忽略Header
  • 8.7 使用Zuul上传文件
  • 8.8 Zuul的过滤器
  • 8.8.1 过滤器类型与请求生命周期
  • 8.8.2 内置过滤器详解
  • 8.8.3 编写Zuul过滤器
  • 8.8.4 禁用Zuul过滤器
  • 8.9 Zuul的容错与回退
  • 8.10 饥饿加载
  • 8.11 Query String编码
  • 8.12 Hystrix隔离策略与线程池
  • 8.12.1 隔离策略
  • 8.12.2 线程池配置
  • 8.13 Zuul的高可用
  • 8.13.1 Zuul客户端也注册到了Eureka Server上
  • 8.13.2 Zuul客户端未注册到Eureka Server上
  • 8.14 使用Sidecar整合非JVM微服务
  • 8.14.1 编写Node.js微服务
  • 8.14.2 编写Sidecar
  • 8.14.3 Sidecar的端点
  • 8.14.4 Sidecar与Node.js微服务分离部署
  • 8.14.5 Sidecar原理分析
  • 8.15 使用Zuul聚合微服务
  • 9 使用Spring Cloud Config统一管理微服务配置
  • 9.1 为什么要统一管理微服务配置
  • 9.2 Spring Cloud Config简介
  • 9.3 编写Config Server
  • 9.4 编写Config Client
  • 9.5 Config Server的Git仓库配置详解
  • 9.5.1 占位符支持
  • 9.5.2 模式匹配
  • 9.5.3 搜索目录
  • 9.5.4 启动时加载配置文件
  • 9.6 Config Server的健康状况指示器
  • 9.7 配置内容的加解密
  • 9.7.1 安装JCE
  • 9.7.2 Config Server的加解密端点
  • 9.7.3 对称加密
  • 9.7.4 存储加密的内容
  • 9.7.5 非对称加密
  • 9.8 使用/refresh端点手动刷新配置
  • 9.9 使用Spring Cloud Bus自动刷新配置
  • 9.9.1 Spring Cloud Bus简介
  • 9.9.2 实现自动刷新
  • 9.9.3 局部刷新
  • 9.9.4 架构改进
  • 9.9.5 跟踪总线事件
  • 9.10 Spring Cloud Config与Eureka配合使用
  • 9.11 Spring Cloud Config的用户认证
  • 9.12 Config Server的高可用
  • 9.12.1 Git仓库的高可用
  • 9.12.2 RabbitMQ的高可用
  • 9.12.3 Config Server自身的高可用
  • 10 使用Spring Cloud Sleuth实现微服务跟踪
  • 10.1 为什么要实现微服务跟踪
  • 10.2 Spring Cloud Sleuth简介
  • 10.3 整合Spring Cloud Sleuth
  • 10.4 Spring Cloud Sleuth与ELK配合使用
  • 10.5 Spring Cloud Sleuth与Zipkin配合使用
  • 10.5.1 Zipkin简介
  • 10.5.2 编写Zipkin Server
  • 10.5.3 微服务整合Zipkin
  • 10.5.4 Zipkin与Eureka配合使用
  • 10.5.5 使用消息中间件收集数据
  • 10.5.6 使用Elasticsearch存储跟踪数据
  • 10.5.7 依赖关系图
  • 11 Spring Cloud 常见问题与总结
  • 11.1 Eureka常见问题
  • 11.1.1 Eureka注册服务慢
  • 11.1.2 已停止的微服务节点注销慢或不注销
  • 11.1.3 如何自定义微服务的Instance ID
  • 11.1.4 Eureka的UNKNOWN问题总结与解决
  • 11.2 整合Hystrix后首次请求失败
  • 11.2.1 原因分析
  • 11.2.2 解决方案
  • 11.3 Turbine聚合的数据不完整
  • 11.4 Spring Cloud各组件超时
  • 11.4.1 RestTemplate的超时
  • 11.4.2 Ribbon的超时
  • 11.4.3 Feign的超时
  • 11.4.4 Hystrix的超时
  • 11.4.5 Zuul的超时
  • 11.5 Spring Cloud各组件重试
  • 11.5.1 重试步骤
  • 11.5.2 基于HTTP响应码重试
  • 11.5.3 关闭重试
  • 11.5.4 注意点
  • 11.6 Spring Cloud各组件调优
  • 11.6.1 Tomcat参数
  • 11.6.2 Hystrix参数
  • 11.6.3 Feign参数
  • 11.6.4 Zuul参数
  • 11.7 Spring Cloud各组件配置属性
  • 11.7.1 Spring Boot的配置
  • 11.7.2 Spring Cloud的配置
  • 11.7.3 原生配置
  • 11.8 Spring Cloud定位问题思路总结
  • 12 Docker入门
  • 12.1 Docker简介
  • 12.2 版本与迭代计划
  • 12.2.1 版本区别
  • 12.2.2 迭代计划
  • 12.3 Docker的架构
  • 12.4 安装Docker
  • 12.4.1 CentOS 7安装Docker
  • 12.4.2 Ubuntu安装Docker
  • 12.4.3 Windows安装Docker
  • 12.4.4 Mac OS安装Docker
  • 12.5 配置镜像加速器
  • 12.6 Docker常用命令
  • 12.6.1 Docker镜像常用命令
  • 12.6.2 Docker容器常用命令
  • 13 将微服务运行在Docker上
  • 13.1 使用Dockerfile构建Docker镜像
  • 13.1.1 Dockerfile常用指令
  • 13.1.2 使用Dockerfile构建镜像
  • 13.2 使用Docker Registry管理Docker镜像
  • 13.2.1 使用Docker Hub管理镜像
  • 13.2.2 使用私有仓库管理镜像
  • 13.3 使用Maven插件构建Docker镜像
  • 13.3.1 快速入门
  • 13.3.2 插件读取Dockerfile进行构建
  • 13.3.3 将插件绑定在某个phase执行
  • 13.3.4 推送镜像
  • 13.4 常见问题与总结
  • 14 使用Docker Compose编排微服务
  • 14.1 Docker Compose简介
  • 14.2 安装Docker Compose
  • 14.2.1 安装Compose
  • 14.2.2 安装Compose命令补全工具
  • 14.3 Docker Compose快速入门
  • 14.3.1 基本步骤
  • 14.3.2 入门示例
  • 14.3.3 工程、服务、容器
  • 14.4 docker-compose.yml常用命令
  • 14.5 docker-compose常用命令
  • 14.6 Docker Compose网络设置
  • 14.6.1 基本概念
  • 14.6.2 更新容器
  • 14.6.3 links
  • 14.6.4 指定自定义网络
  • 14.6.5 配置默认网络
  • 14.6.6 使用已存在的网络
  • 14.7 综合实战:使用Docker Comose编排Spring Cloud微服务
  • 14.7.1 编排Spring Cloud微服务
  • 14.7.2 编排高可用的Eureka Server
  • 14.7.3 编排高可用Spring Cloud微服务集群及动态伸缩
  • 14.8 常见问题与总结
  • 附录A: 本书配套代码
  • 附录B: Spring Cloud YES——快速开发脚手架
  • 附录C: 使用Docker快速安装本书中的组件
  • 附录C.1 RabbitMQ
  • 附录C.2 Elasticsearch
  • 附录C.3 ELK
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。