随着微服务架构的兴起,国内的IT企业特别是互联网公司近年来都逐步引入了微服务技术并使其在实践中落地,实施微服务架构最流行的方案非SpringCloud莫属。
从企业的真实需求出发,理论结合实际,深入讲解SpringCloud微服务和分布式系统的知识。既包括SpringCloud微服务的各类常用组件的讲解,又包括分布式系统的常用知识的介绍。SpringCloud组件方面主要讲解服务注册和服务发现(Eureka) 、服务调用(Ribbon 和OpenFeign)、断路器(Hystrix 和Resilience4j)、网关(Zuul和Gateway)、配置(Config)、全链路追踪(Sleuth) 、微服务的监控(Admin)等;分布式系统方面主要讲解分布式数据库、分布式缓存、会话和权限以及发号机制等。本书的实践部分通过Apache Thrift 讲解了远程过程调用(RPC)在分布式系统中的应用,并且分析了处理高并发的一些常用方法,最后还通过一个简单的实例讲解了微服务系统的搭建。
文章内容介绍
第一部分 概述和基础
第1章分布式和微服务概述
- 1.1互联网系统的特征
- 1.2分布式系统概述
- 1.3分布式系统的设计原则
- 1.4微服务架构
- 1.5 Spring Cloud
- 1.6微服务系统样例简介
第2章技术基础
- 2.1 Spring Boot
- 2.2 REST风格简介
第3章服务治理一Eureka
- 3.1服务治理中心
- 3.2 Eureka治理机制
- 3.3 Eureka配置
Spring Cloud微服务
第4章客户端负载均衡-Ribbon
- 4.1负载均衡概述
- 4.2初识Ribbon
- 4.3 Ribbon负载均衡器和策略
- 4.4 Ribbon服务实例清单维护
- 4.5自定义Ribbon客户端
- 4.6 Ribbon使用实践
第5章断路器一Hystrix
- 4.1负载均衡概述
- 4.2初识Ribbon
- 4.3 Ribbon负载均衡器和策略
- 4.4 Ribbon服务实例清单维护
- 4.5自定义Ribbon客户端
- 4.6 Ribbon使用实践
第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入r ]实例
- 8.3 Zuul原理一过滤器
- 8.4限流
- 8.5动态路由
- 8.6灰度发布(金丝雀发布)
- 8.7使用Hystrix熔断
第9章新网关一Spring CloudGateway
- 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分片算法
- 144分片中间件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使用缓存sringsesson-data-edis)
- 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简易微服务系统实例
目录总纲