互联网
类型
6.9
豆瓣评分
可以朗读
语音朗读
306千字
字数
2018-07-01
发行日期
展开全部
主编推荐语
本书内容通俗易懂,每章都结合实例进行讲解,特别适合Spring Cloud的入门读者阅读,也适合致力于互联网开发和Java开发的进阶读者阅读。
内容简介
本书首先从微服务架构兴起的背景讲起,探讨了为何在分布式系统开发中微服务架构将逐渐取代单体架构,然后对Spring Cloud所提供的微服务组件及解决方案进行了一一讲解,从而让读者不但可以系统地学习Spring Cloud的相关知识,而且还可以全面掌握微服务架构应用的设计、开发、部署和运维等知识。本书共11章,分为3篇。第1篇为微服务开发基础——Spring Boot框架及使用;第2篇为Spring Cloud组件实战;第3篇为微服务与Docker容器技术。其中第2篇为全书的核心,涵盖了构建微服务架构所需要的服务治理(Eureka)、客户端负载均衡(Ribbon)、微服务容错与降级处理(Hystrix)、微服务API统一网关(Zuul)、分布式配置中心(Config)、微服务调用链追踪(Sleuth)、微服务消息驱动开发(Stream)及微服务安全(OAuth及JWT)等相关知识。
目录
- 版权信息
- 前言
- 本书特色
- 本书内容
- 本书源代码获取方式
- 本书适合哪些读者阅读
- 售后服务
- 第1篇 微服务开发基础——Spring Boot框架及使用
- 第1章 微服务架构开发
- 1.1 单体架构应用的困境
- 1.2 微服务架构
- 1.2.1 如何定义微服务架构
- 1.2.2 微服务架构的优点
- 1.2.3 微服务架构的缺点
- 1.3 微服务架构设计
- 1.3.1 微服务粒度
- 1.3.2 微服务拆分原则
- 1.3.3 微服务自治原则
- 1.3.4 微服务交互原则
- 1.3.5 微服务架构迁移
- 1.4 不应使用微服务架构的情形
- 第2章 微服务基础——Spring Boot
- 2.1 Spring与Spring Boot
- 2.2 快速启动Spring Boot
- 2.2.1 编写pom.xml文件
- 2.2.2 编写应用引导类
- 2.2.3 编写配置文件
- 2.2.4 运行项目
- 2.3 使用Spring Boot构建示例项目
- 2.3.1 经典三层应用架构
- 2.3.2 设计领域对象
- 2.3.3 实现数据管理
- 2.3.4 编写业务逻辑层
- 2.3.5 编写RESTful API
- 2.3.6 数据库初始化
- 2.3.7 启动测试
- 2.4 Spring Boot特性
- 2.4.1 Spring Boot自动配置机制
- 2.4.2 Spring Boot扩展属性配置
- 2.4.3 Spring Boot日志配置
- 2.5 关于敏捷开发
- 2.6 关于RESTful API设计
- 2.6.1 以资源为中心进行URL设计
- 2.6.2 正确使用HTTP方法及状态码
- 2.6.3 查询及分页处理原则
- 2.6.4 其他指导原则
- 第2篇 Spring Cloud组件实战
- 第3章 Spring Cloud简介
- 3.1 微服务架构的核心关键点
- 3.2 Spring Cloud技术概览
- 3.2.1 Spring Cloud子项目
- 3.2.2 为何选择Spring Cloud
- 3.3 Spring Cloud版Hello World示例
- 第4章 服务治理与负载均衡
- 4.1 什么是服务治理
- 4.2 构建服务治理——Eureka
- 4.2.1 搭建微服务Parent工程
- 4.2.2 搭建服务治理服务器——Eureka服务器
- 4.2.3 搭建服务提供者——注册服务
- 4.2.4 搭建服务消费者——获取服务
- 4.3 使用客户端负载均衡——Ribbon
- 4.3.1 什么是客户端负载均衡
- 4.3.2 启用Ribbon
- 4.3.3 负载均衡测试
- 4.4 使用Feign简化微服务调用
- 4.5 深入Eureka
- 4.5.1 服务注册及相关原理
- 4.5.2 Eureka自我保护模式
- 4.5.3 注册一个服务实例需要的时间
- 4.5.4 Eureka高可用集群及示例
- 4.5.5 多网卡及IP指定
- 4.5.6 Eureka服务访问安全
- 4.6 深入Ribbon
- 4.6.1 Ribbon客户端负载均衡原理
- 4.6.2 Ribbon负载均衡策略及配置
- 4.6.3 直接使用Ribbon API
- 4.7 深入Feign
- 4.7.1 Feign的参数绑定
- 4.7.2 Feign中的继承
- 4.7.3 Feign与Swagger的冲突
- 4.8 微服务健康监控
- 4.9 异构服务解决方案——Sidecar
- 第5章 微服务容错保护——Hystrix
- 5.1 什么是微服务容错保护
- 5.2 快速启动Hystrix
- 5.2.1 引入Hystrix依赖
- 5.2.2 开启Hystrix支持
- 5.2.3 修改UserService实现
- 5.2.4 容错测试
- 5.2.5 服务降级的两种实现方式
- 5.2.6 在Feign中使用Hystrix回退
- 5.3 Hystrix容错机制分析
- 5.3.1 Hystrix整体处理流程
- 5.3.2 HystrixCommand与HystrixObservableCommand
- 5.3.3 断路器原理分析
- 5.3.4 Hystrix异常——HystrixBadRequestException
- 5.4 服务隔离
- 5.4.1 线程池隔离与信号量隔离
- 5.4.2 服务隔离的颗粒度
- 5.4.3 服务隔离配置
- 5.4.4 小结
- 5.5 服务降级模式
- 5.5.1 快速失败
- 5.5.2 静默失败
- 5.5.3 返回默认值
- 5.5.4 返回组装的值
- 5.5.5 返回远程缓存
- 5.5.6 主/从降级模式
- 5.6 请求缓存
- 5.7 请求合并
- 5.8 Hystrix监控
- 5.8.1 Hystrix仪表盘
- 5.8.2 Turbine仪表盘集群监控
- 5.8.3 Turbine与消息服务器集成
- 第6章 API服务网关——Zuul
- 6.1 API服务网关
- 6.2 Spring Cloud与Netflix Zuul
- 6.3 启用Zuul路由服务
- 6.3.1 构建Zuul路由服务器
- 6.3.2 路由测试
- 6.3.3 负载均衡测试
- 6.3.4 Hystrix容错与监控测试
- 6.4 路由配置规则
- 6.4.1 服务路由默认规则
- 6.4.2 自定义微服务访问路径
- 6.4.3 忽略指定微服务
- 6.4.4 设置路由前缀
- 6.4.5 通过静态URL路径配置路由映射
- 6.4.6 路由配置顺序
- 6.4.7 自定义路由规则
- 6.5 Zuul路由其他设置
- 6.5.1 Header设置
- 6.5.2 HttpClient配置
- 6.5.3 路由配置的动态加载
- 6.6 Zuul容错与回退
- 6.6.1 实现Zuul的回退
- 6.6.2 服务超时
- 6.7 Zuul过滤器
- 6.7.1 过滤器特性
- 6.7.2 过滤器类型及生命周期
- 6.7.3 自定义Zuul过滤器
- 6.7.4 禁用Zuul过滤器
- 6.7.5 关于Error过滤器的一点补充
- 6.8 @EnableZuulServer与@EnableZuulProxy比较
- 6.8.1 EnableZuulServer注解的过滤器
- 6.8.2 EnableZuulProxy注解的过滤器
- 第7章 统一配置中心——Config
- 7.1 Spring Cloud Config简介
- 7.2 快速启动
- 7.2.1 构建配置服务器
- 7.2.2 创建应用配置文件
- 7.2.3 升级微服务配置
- 7.2.4 启动测试
- 7.2.5 @Value注解
- 7.2.6 关于配置服务的默认配置
- 7.2.7 Spring配置加载顺序
- 7.3 配置资源库
- 7.3.1 配置资源规则详解
- 7.3.2 集成Git仓库
- 7.3.3 搜索目录
- 7.3.4 本地缓存
- 7.3.5 Git访问配置
- 7.3.6 集成SVN
- 7.3.7 使用文件系统
- 7.4 配置的加密与解密
- 7.4.1 安装JCE(Java Cryptography Extension)
- 7.4.2 使用对称加密
- 7.4.3 加密/解密端点
- 7.4.4 客户端解密
- 7.4.5 非对称加密
- 7.5 配置服务器访问安全
- 7.6 配置服务器的高可用
- 7.6.1 整合Eureka
- 7.6.2 快速失败与响应
- 7.6.3 动态刷新配置
- 第8章 分布式服务跟踪——Sleuth
- 8.1 Spring Cloud Sleuth简介
- 8.1.1 快速启用Sleuth
- 8.1.2 Sleuth与日志框架
- 8.1.3 有关Span
- 8.2 Sleuth与ELK整合
- 8.2.1 将日志输出到Logstash
- 8.2.2 Logstash与Log4j的集成
- 8.3 整合Zipkin服务
- 8.3.1 构建Zipkin服务器
- 8.3.2 整合微服务
- 8.3.3 Zipkin分析
- 8.3.4 输出TraceId
- 8.4 Sleuth抽样采集与采样率
- 第9章 消息驱动——Stream
- 9.1 什么是消息驱动开发
- 9.1.1 基于消息中间件开发的优点
- 9.1.2 基于消息中间件开发的缺点
- 9.2 Spring Cloud Stream简介
- 9.2.1 应用模型
- 9.2.2 编程模型
- 9.2.3 使用“发布-订阅”模式
- 9.3 Kafka使用指南
- 9.3.1 Kafka基础知识
- 9.3.2 搭建Kafka环境
- 9.4 使用消息对应用重构
- 9.4.1 为商品服务增加缓存功能
- 9.4.2 为用户微服务添加消息发送功能
- 9.4.3 为商品微服务添加消息监听功能
- 9.4.4 测试
- 9.4.5 自定义消息通道
- 9.5 Spring Cloud Stream高级主题
- 9.5.1 单元测试
- 9.5.2 错误处理
- 9.5.3 消息处理分发
- 9.5.4 消费者组与消息分区
- 9.5.5 消息绑定器
- 9.6 消息总线——Spring Cloud Bus
- 9.6.1 完成配置自动刷新配置
- 9.6.2 发布自定义事件
- 第10章 微服务应用安全——Security
- 10.1 Spring Boot的应用安全
- 10.1.1 实现用户认证
- 10.1.2 实现用户鉴权
- 10.2 微服务安全
- 10.3 基于OAuth 2.0的认证
- 10.3.1 OAuth 2.0授权流程
- 10.3.2 客户端授权模式
- 10.3.3 使用OAuth 2.0完成用户认证及授权
- 10.3.4 整合API网关服务
- 10.4 基于JWT的认证
- 10.4.1 改造认证服务支持输出JWT
- 10.4.2 在Zuul中对JWT进行解析
- 10.4.3 改造商品微服务
- 第3篇 微服务与Docker容器技术
- 第11章 微服务与Docker
- 11.1 Docker简介
- 11.2 Docker的使用
- 11.2.1 安装
- 11.2.2 镜像
- 11.2.3 容器
- 11.2.4 容器实战:MySQL
- 11.3 Docker与Spring Cloud微服务
- 11.3.1 部署Eureka服务
- 11.3.2 部署应用微服务
- 11.4 微服务与Jenkins
- 11.4.1 安装Jenkins
- 11.4.2 Jenkins配置
- 11.4.3 构建任务
- 11.5 微服务编排
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。