作品简介

《Spring Cloud微服务和分布式系统实践》从企业的真实需求出发,理论结合实际,深入讲解Spring Cloud微服务和分布式系统的知识。书中既包括Spring Cloud微服务的各类常用组件的讲解,又包括分布式系统的常用知识的介绍。Spring Cloud组件方面主要讲解服务注册和服务发现(Eureka)、服务调用(Ribbon和OpenFeign)、断路器(Hystrix和Resilience4j)、网关(Zuul和Gateway)、配置(Config)、全链路追踪(Sleuth)、微服务的监控(Admin)等;分布式系统方面主要讲解分布式数据库、分布式缓存、会话和权限以及发号机制等。本书的实践部分通过Apache Thrift讲解了远程过程调用(RPC)在分布式系统中的应用,并且分析了处理高并发的一些常用方法,最后还通过一个简单的实例讲解了微服务系统的搭建。本书适合想要学习Spring Cloud微服务、分布式系统开发的各类Java开发人员阅读,包括初学者和开发工程师。本书对架构师也有一定的帮助。

杨开振,精通Java互联网技术,拥有十余年企业一线开发和实践经验,著有《深入浅出Spring Boot 2.x》《深入浅出MyBatis技术原理与实战》《Java EE互联网轻量级框架整合开发——SSM框架(Spring MVC+Spring+MyBatis)和Redis实现》等业内畅销书。

作品目录

  • 版权信息
  • 内容提要
  • 前       言
  • 为什么选择Spring Cloud
  • 为什么还要讲微服务之外的分布式系统的知识
  • 内容安排
  • 排版约定
  • 目标读者
  • 致谢
  • 纠错、源码和课程
  • 资源与支持
  • 配套资源
  • 提交勘误
  • 与我们联系
  • 关于异步社区和异步图书
  • 第一部分 概述和基础
  • 第1章 分布式和微服务概述
  • 1.1 互联网系统的特征
  • 1.2 分布式系统概述
  • 1.3 分布式系统的设计原则
  • 1.4 微服务架构
  • 1.5 Spring Cloud
  • 1.6 微服务系统样例简介
  • 第2章 技术基础
  • 2.1 Spring Boot
  • 2.2 REST风格简介
  • 第二部分 Spring Cloud微服务
  • 第3章 服务治理——Eureka
  • 3.1 服务治理中心
  • 3.2 Eureka治理机制
  • 3.3 Eureka配置
  • 第4章 客户端负载均衡——Ribbon
  • 4.1 负载均衡概述
  • 4.2 初识Ribbon
  • 4.3 Ribbon负载均衡器和策略
  • 4.4 Ribbon服务实例清单维护
  • 4.5 自定义Ribbon客户端
  • 4.6 Ribbon使用实践
  • 第5章 断路器——Hystrix
  • 5.1 概述
  • 5.2 入门实例
  • 5.3 Hystrix工作原理
  • 5.4 Hystrix实践
  • 5.5 仪表盘
  • 5.6 Hystrix属性配置
  • 第6章 新断路器——Resilience4j
  • 6.1 断路器(CircuitBreaker)
  • 6.2 限速器(RateLimiter)
  • 6.3 舱壁隔离(Bulkhead)
  • 6.4 重试器(Retry)
  • 6.5 缓存(Cache)
  • 6.6 时间限制器(TimeLimiter)
  • 6.7 组件混用
  • 6.8 使用Spring Boot 2的配置方式
  • 第7章 声明式调用——OpenFeign
  • 7.1 OpenFeign的使用
  • 7.2 配置Hystrix
  • 7.3 使用Resilience4j调用OpenFeign接口
  • 第8章 旧API网关——Zuul
  • 8.1 什么是网关
  • 8.2 Zuul入门实例
  • 8.3 Zuul原理——过滤器
  • 8.4 限流
  • 8.5 动态路由
  • 8.6 灰度发布(金丝雀发布)
  • 8.7 使用Hystrix熔断
  • 第9章 新网关——Spring Cloud Gateway
  • 9.1 认识Gateway
  • 9.2 断言(Predicate)
  • 9.3 过滤器(Filter)概述
  • 9.4 内置过滤器工厂
  • 9.5 自定义过滤器
  • 9.6 Gateway知识补充
  • 第10章 配置——Spring Cloud Config
  • 10.1 入门实例——使用Git仓库
  • 10.2 使用其他方式实现配置
  • 10.3 服务端的使用详解
  • 第11章 Spring Cloud Sleuth全链路追踪
  • 11.1 链路追踪的基本概念
  • 11.2 Spring Cloud Sleuth和Zipkin
  • 11.3 实例
  • 11.4 持久化
  • 第12章 微服务的监控——Spring Boot Admin
  • 12.1 本章实例简介
  • 12.2 URL注册方式
  • 12.3 服务发现注册方式
  • 12.4 使用Spring Security保护Admin服务端
  • 第三部分 分布式技术
  • 第13章 生成唯一的ID——发号机制
  • 13.1 生成ID的常见办法
  • 13.2 自定义发号机制
  • 第14章 分布式数据库技术
  • 14.1 基础知识
  • 14.2 开发环境搭建
  • 14.3 分片算法
  • 14.4 分片中间件ShardingSphere
  • 第15章 分布式数据库事务
  • 15.1 强一致性事务
  • 15.2 弱一致性事务
  • 15.3 分布式事务应用的实践理论
  • 第16章 分布式缓存——Redis
  • 16.1 Redis的高可用
  • 16.2 使用一致性哈希(ShardedJedis)
  • 16.3 分布式缓存实践
  • 第17章 分布式会话
  • 17.1 分布式会话的几种方式
  • 17.2 黏性会话
  • 17.3 服务器会话复制
  • 17.4 使用缓存(spring-session-data-redis)
  • 17.5 持久化到数据库
  • 第18章 分布式系统权限验证
  • 18.1 Spring Security
  • 18.2 自定义微服务权限控制
  • 18.3 OAuth 2.0概述
  • 18.4 Spring Cloud Security
  • 第四部分 微服务系统实践
  • 第19章 远程过程调用
  • 19.1 远程过程调用
  • 19.2 Thrift简介
  • 19.3 RPC小结
  • 第20章 微服务设计和高并发实践
  • 20.1 微服务设计原则
  • 20.2 高并发系统的一些优化经验
  • 20.3 简易微服务系统实例
展开全部