Java电子书:Spring Cloud Alibaba 微服务原理与实战 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
: y; d0 g, t: N# R, M" c- O/ s7 \- Y- Q; s; y' h
0 z* y! a/ h% K/ C9 A
编号:mudaima-P0100【Java吧 java8.com】$ {7 O! U% Q+ K: f% H/ x& z4 n
7 U c1 u1 U! P5 `' ?0 J% D( X3 D' Z0 j( A7 R- _
2 [( s- i) H3 l. p _
Java电子书目录:前言 - g3 \8 @# x. f4 [
第1章 微服务的发展史 2 l; ~8 p" f; [
1.1 从单体架构到分布式架构的演进
6 V& S |% @% Y+ B1.1.1 单体架构
8 s) y+ j. N4 u) J$ B- B1.1.2 集群及垂直化
' K8 s7 q9 P6 _& L1.1.3 SOA ; h$ P0 B- B& K7 ]" w
1.1.4 微服务架构 7 m) e1 k8 p3 J# c
1.2 微服务架构带来的挑战
5 w! E/ B' a/ g5 @1.2.1 微服务架构的优点 - x8 E1 s( v4 w( v
1.2.2 微服务架构面临的挑战 J _' ~' k: C5 m
1.3 如何实现微服务架构
6 }& o( M/ D5 y" s1.3.1 微服务架构图
! c- k1 s1 }" [1.3.2 微服务架构下的技术挑战
2 J. a0 _/ s7 k9 t7 T/ P6 z第2章 微服务解决方案之Spring Cloud ; P! {( f' T/ Q1 ?& `
2.1 什么是Spring Cloud
$ ]# y) }8 P* ^" P& a# H9 f4 e K2.2 Spring Cloud版本简介 8 d" \ _# B: S& h/ j" V
2.3 Spring Cloud规范下的实现
2 T* c& z* X! X' O5 x1 w2.4 Spring Cloud Netflix
* `7 ~7 F a9 ^) P2.5 Spring Cloud Alibaba 2 H4 {4 E5 |" c& [% z; r
2.5.1 Spring Cloud Alibaba的优势
9 J" l2 j7 M0 H( F2.5.2 Spring Cloud Alibaba的版本
4 @: I7 p$ Y) d, f; O- P6 U第3章 Spring Cloud的核心之Spring Boot
' h* A( {1 D# I: f: E9 j) [) Z5 W3.1 重新认识Spring Boot
3 S3 Z% u3 `8 a7 j3.1.1 Spring IoC/DI
0 c8 ^6 W* }, t! O3.1.2 Bean装配方式的升级
. ]- R; ~7 i* z5 y2 p. `3.1.3 Spring Boot的价值 9 Y6 c! \& W' A" A2 i# b6 i3 V) x6 O& t
3.2 快速构建Spring Boot应用
( `. g: I1 v! @# R, z: q% E3.3 Spring Boot自动装配的原理
: v' e4 H: N5 Z" |3.3.1 自动装配的实现 & g! v% N% B' [" C# G
3.3.2 EnableAutoConfiguration % d$ M" p3 m$ D% B+ n! l
3.3.3 AutoConfigurationImportSelector # I; C$ n& ~' C$ U% s
3.3.4 自动装配原理分析
( z4 u! f4 G- i7 C/ }3.3.5@Conditional条件装配
/ [3 D; s) N! ^9 H/ O3.3.6 spring-autoconfigure-metadata
* u% _# a; V) |# @4 @, \2 P1 p3.4 手写实现一个Starter
* c9 v, R1 n6 B, o6 p1 j3.4.1 Starter的命名规范 2 t2 U0 O% w M" D0 ~
3.4.2 实现基于Redis的Starter
5 ?( X. W W2 w3.5 本章小结 p7 P) K) B/ u! T
第4章 微服务架构下的服务治理 / O% f. D0 I3 T! g# O v( D
4.1 如何理解Apache Dubbo
7 i ^, O8 U% F* y4.2 Apache Dubbo实现远程通信
# v1 Y' Q% J3 u0 |4.3 Spring Boot集成Apache Dubbo 0 G- d7 ]4 }. P) y" g
4.4 快速上手ZooKeeper
% O( B+ x8 D, x; q% H4.4.1 ZooKeeper的安装 6 t3 t* T7 m* \3 M) c4 B
4.4.2 ZooKeeper的数据结构 # R% J. s* x8 e) K" Y2 [
4.4.3 ZooKeeper的特性 ( d* U/ g0 ~3 W+ D- e
4.4.4 Watcher机制
6 _) c+ n# T: S% G. {# I/ H" X4.4.5 常见应用场景分析 1 m/ X! n6 I7 }6 U* O( j/ D" f
4.5 Apache Dubbo集成ZooKeeper实现服务注册 ! e7 [8 Y' n, n6 l4 H' S
4.5.1 Apache Dubbo集成ZooKeeper实现服务注册的步骤 % [# F+ P' S4 j1 _
4.5.2 ZooKeeper注册中心的实现原理
7 ~9 ~) `8 V7 P$ Z4.6 实战Dubbo Spring Cloud
/ x2 ?, X& m6 N% @6 z0 a4.6.1 实现Dubbo服务提供方 n% {. t0 g2 z5 c2 U) C- ~
4.6.2 实现Dubbo服务调用方 1 ?) a. E* W3 Q" `: I6 G" _
4.7 Apache Dubbo的高级应用
& y T4 k# f3 @. l2 n' W0 E% c4.7.1 集群容错
7 r1 v+ [7 @% p1 P4 U3 R4.7.2 负载均衡
/ Q$ l% |& F, |! y1 C( | q4.7.3 服务降级
- ~% u0 k. F9 g' M) p6 C* ^4.7.4 主机绑定规则 7 v w6 p4 F% U+ P" Q' k
4.8 Apache Dubbo核心源码分析
2 l2 f$ {1 `! b# m% w w$ H4.8.1 源码构建
* j- [1 m: I% Z( W0 s% t4.8.2 Dubbo的核心之SPI & c% |1 l" `3 f
4.8.3 无处不在的自适应扩展点
6 |4 P5 S/ k4 d" G: ?4.8.4 Dubbo中的IoC和AOP ; S# A5 d( W. X% _# _! q5 k
4.8.5 Dubbo和Spring完美集成的原理 % ?6 V, _% B' [7 S# M! ~
4.9 本章小结
) Z4 S5 z4 J" n5 H) p) n第5章 服务注册与发现
. M U/ u- i. X, L' N3 X5.1 什么是Alibaba Nacos
: j' l6 g) r1 x: g8 Q& \0 d5.2 Nacos的基本使用 8 b+ t$ ~& k6 y+ A# Z
5.2.1 Nacos的安装 , U3 p8 [' S/ M& F
5.2.2 Nacos服务注册发现相关API说明 7 M" m" y; r( t5 U q* `
5.2.3 Nacos集成Spring Boot实现服务注册与发现
: p: Y0 E6 |- X$ \1 I; }9 N+ i5.3 Nacos的高可用部署
* n, n/ A' u$ S+ J$ E5.3.1 安装环境要求 9 T8 W) _) ~( }* {
5.3.2 安装包及环境准备 . v U/ h. s% @
5.3.3 集群配置
- \; P' p) J( c! M5.3.4 配置MySQL数据库
/ O1 m% ]5 S3 V5.3.5 启动Nacos服务
% D+ ]: K% L' J! U8 P( R! }5.4 Dubbo使用Nacos实现注册中心 / ~. K3 B3 S7 }3 ]" K! V* S
5.5 Spring Cloud Alibaba Nacos Discovery 6 c |6 `% X7 G( P0 A
5.5.1 服务端开发 ; ~& H, E" r2 }5 d( X/ c X
5.5.2 消费端开发
" e$ }8 Z+ H2 T; }/ P2 j$ B5.6 Nacos实现原理分析 9 D3 x0 ^: p$ f# ?( q
5.6.1 Nacos架构图
' C4 W% K4 l2 V" B: v: X5.6.2 注册中心的原理 " z0 P0 T5 s0 ?6 Y
5.7 深入解读Nacos源码
) Y/ {& p- v- V4 Y- D5.7.1 Spring Cloud什么时候完成服务注册 $ K2 k( u4 {; f( R$ p) [ t
5.7.2 NacosServiceRegistry的实现 * |. I( E/ r! O- w9 |- G, T# M- p* v
5.7.3 从源码层面分析Nacos服务注册的原理 # y$ Z8 `2 Z. I/ @5 \& h
5.7.4 揭秘服务提供者地址查询 8 j! j" _/ J9 @2 Z/ N
5.7.5 分析Nacos服务地址动态感知原理 + v0 m7 p2 n& I0 B; C9 g3 Z$ s
5.8 本章小结 $ A# W' B, U* Q! r
第6章 Nacos实现统一配置管理 # j$ a9 X# m. U7 d4 `, Z0 T
6.1 Nacos配置中心简介 - C, U- }, |& z: A
6.2 Nacos集成Spring Boot实现统一配置管理 6 P& j r5 \$ ]4 t2 F
6.2.1 项目准备 8 H- p+ }# C( g8 B; I$ n& g
6.2.2 启动Nacos Server 9 P. Y! w h: J2 n+ t
6.2.3 创建配置 6 |7 K- x7 C5 K# z. {9 `
6.2.4 启动服务并测试 5 ?2 b# c7 T- A3 p
6.3 Spring Cloud Alibaba Nacos Config
& O" V* ~, U6 }0 ^" [1 J6.3.1 Nacos Config的基本应用 9 J: _( I* O# V% o( |6 w v
6.3.2 动态更新配置 9 U2 g; r' |7 |) ^( ~6 T3 O
6.3.3 基于Data ID配置YAML的文件扩展名
. i Y2 \+ t, m) |' {6.3.4 不同环境的配置切换 . r. ?* H: Z4 M( C" t$ k" r) f* O
6.3.5 Nacos Config自定义Namespace和Group ( X0 E% x9 r; U
6.4 Nacos Config 实现原理解析 + Y% k# ], v# X! t; P
6.4.1 配置的CRUD ' o, k2 ~: m/ H" x8 B( R
6.4.2 动态监听之Pull Or Push
9 p; G9 j0 D0 a9 q- C4 O3 R* ^ [+ ~6.5 Spring Cloud如何实现配置的加载
^4 m' @" f7 [8 S- F. ~6.5.1 PropertySourceBootstrapConfiguration
3 D# D0 d- d# N& R% d8 b# ^6.5.2 PropertySourceLocator & k3 Y; f# _0 G/ V7 S5 _
6.6 Nacos Config核心源码解析
+ m/ h: n1 N$ e1 p! T' O6.6.1 NacosFactory.createConfigService # `+ g9 N4 V# ~8 `
6.6.2 NacosConfigService构造 ! A2 u* ^ l7 |7 }
6.6.3 ClientWorker % c0 e! K- _# t, k: f
6.6.4 ClientWorker.checkConfigInfo 2 {1 S& v0 Z' _1 Z; R) p$ r- ]
6.6.5 LongPollingRunnable.run
: X3 T6 J; t2 D6.6.6 服务端长轮询处理机制
7 |4 Q/ @* I: ^) A6.6.7 ClientLongPolling
2 [: u' J6 p4 D3 c7 d( s( q6.7 本章小结
- q- J q0 H) @: t# d6 l' P8 O+ q; B第7章 基于Sentinel的微服务限流及熔断
9 j& D g" B0 G% Q' W0 y) C. m7.1 服务限流的作用及实现 2 V+ M5 J, b. u0 W0 f7 W
7.1.1 计数器算法 ! D3 a5 {* d5 }
7.1.2 滑动窗口算法 , m% |& P/ _5 y( B& H3 V5 k
7.1.3 令牌桶限流算法 e( K! w: b5 k9 Z
7.1.4 漏桶限流算法 y( k3 k( b% e. `% } ]
7.2 服务熔断与降级
/ _& U, T0 L# f7.3 分布式限流框架Sentinel
5 Z) _5 W' n+ u7.3.1 Sentinel的特性
, y* X) \. v1 ]* p7.3.2 Sentinel的组成 0 y0 u4 w/ K& A- M( V1 m' K' ? ^
7.3.3 Sentinel Dashboard的部署
O! d! T8 z2 }; ? G6 E7.4 Sentinel的基本应用 , w. h( Z- ^0 {
7.4.1 Sentinel实现限流
8 o$ t5 M$ M8 a$ }5 a$ \" s7.4.2 资源的定义方式
) V; M+ y3 O) J/ |9 ]7.4.3 Sentinel资源保护规则
, I/ u' Q$ ?. U7.4.4 Sentinel实现服务熔断 & @# F; P: ]9 Y$ l# a
7.5 Spring Cloud集成Sentinel实践
3 {/ R2 h- l/ {8 t4 ]# X7.5.1 Sentinel接入Spring Cloud
. x+ c3 @( ~* l2 P7.5.2 基于Sentinel Dashboard来实现流控配置
# x' ?. B! S' q3 `. l7.5.3 自定义URL限流异常 & }! l% e/ U. Q( @- t, l
7.5.4 URL资源清洗 + u1 V- ]$ a! Y% e5 L2 T1 h
7.6 Sentinel集成Nacos实现动态流控规则 5 k, f2 d( `. @, {6 g$ W+ ?
7.7 Sentinel Dashboard集成Nacos实现规则同步 ) ~1 O5 U. N9 F6 _: o3 v7 G
7.7.1 Sentinel Dashboard源码修改
- q% F. m# }, S) O7.7.2 Sentinel Dashboard规则数据同步
1 L! u) m o6 Q4 M7 H0 O" _7.8 Dubbo集成Sentinel实现限流 7 t6 y! a+ u( q- f2 l
7.8.1 Dubbo服务接入Sentinel Dashboard
: Y$ H+ E! n+ o% ]7.8.2 Dubbo服务限流规则配置
4 K5 M$ `$ y- y7.9 Sentinel热点限流
0 j4 v7 Q! L- |7 X1 {7.9.1 热点参数限流的使用 . s- F% @! i8 \( C
7.9.2@SentinelResource热点参数限流 0 b# E' d) ~( I% r2 x1 H$ g: h
7.9.3 热点参数规则说明
& z! O9 [/ Q7 z! _8 I5 M7.10 Sentinel的工作原理 $ p- h; u+ R4 X P: g* P9 `
7.11 Spring Cloud Sentinel工作原理分析
8 t& q2 O1 i, @- T7.12 Sentinel核心源码分析 + |2 Q: h* E) h3 i& _- [
7.12.1 限流的源码实现 2 ^! p& d- j) v4 C3 E' d M
7.12.2 实时指标数据统计
/ W7 B* V7 J! s2 F% O& k7.12.3 服务降级的实现原理 / B# _) W% f4 D; A1 w- `5 V* A
7.13 本章小结 ; R6 V: C* ~3 M. G& I4 s
第8章 分布式事务
. h: o. Q9 Y' E7 E2 P; M. A" O8.1 分布式事务问题的理论模型 ' ^ S- `9 B* j, D
8.1.1 X/Open分布式事务模型 : G( ?) m; d. l/ H" ]1 P
8.1.2 两阶段提交协议
! E8 d h3 k, j! A u' L$ N8.1.3 三阶段提交协议 , m6 ^1 b, q7 s- H
8.1.4 CAP定理和BASE理论
1 U! R8 r" S6 j$ l5 X3 S4 Q8.2 分布式事务问题的常见解决方案 / f- h& _: J6 N( E6 O
8.2.1 TCC补偿型方案 + _4 M6 G4 R: W# {
8.2.2 基于可靠性消息的最终一致性方案
/ k9 U" M" J" A/ h8.2.3 最大努力通知型
% a- ]7 J- j5 K' D' W8.3 分布式事务框架Seata # Y6 z/ x. ]4 k! k2 s4 B9 m u/ M/ G
8.3.1 AT模式 ; D, d! h/ I) f, c5 g0 l
8.3.2 Saga模式 # _' \, D, {4 K* V
8.4 Seata的安装 ( v9 ^4 \* P* t' `& u
8.4.1 file存储模式
- n& @2 H& v1 Q3 O' b2 [8.4.2 db存储模式
a9 j R% ~$ C' O# Q& b/ X8.4.3 Seata服务端配置中心说明
; h' p" V% x7 w, n, g0 D" u7 W8.5 AT模式Dubbo集成Seata
% c& `6 F) D5 i" A8.5.1 项目准备 & n( T& K, B& {5 X5 F
8.5.2 数据库准备 9 i- o6 Y# ?; _5 Q
8.5.3 核心方法说明
. g, |+ U. s l* B: e! y* b9 p* A7 d8.5.4 项目启动顺序及访问
- E0 `* S% d" z9 m8.5.5 整合Seata实现分布式事务 0 }' o0 T7 f* ]6 x! J3 \
8.6 Spring Cloud Alibaba Seata ( D* Q9 \" g3 K
8.6.1 Spring Cloud项目准备
$ U5 k7 ~2 \( w8.6.2 集成Spring Cloud Alibaba Seata 8 ~+ B& A( B8 a B% m. B* s
8.6.3 关于事务分组的说明
5 N3 P1 g X4 ~& ~; d0 Y! v8.7 Seata AT模式的实现原理 ; o/ X$ m; X9 _0 b/ {4 d
8.7.1 AT模式第一阶段的实现原理
( `) s1 T4 ^- y0 O8.7.2 AT模式第二阶段的原理分析
+ e! r* p5 D9 [# O8.7.3 关于事务的隔离性保证
1 D# J3 @1 y3 T' }8.8 本章小结 7 L; g3 o G+ u, J* k$ a' V& Q) q
第9章 RocketMQ分布式消息通信 8 ^1 o( c/ M" b3 A/ Y9 o9 C
9.1 什么是RocketMQ
$ b# M( M# g1 g. o9 k9.1.1 RocketMQ的应用场景 9 Z s/ o( E) d
9.1.2 RocketMQ的安装 0 A b* [' y D1 w
9.1.3 RocketMQ如何发送消息 6 F: D, A& V8 l" y8 w2 r6 ]
9.1.4 RocketMQ如何消费消息
3 k( M& e. }1 [9.2 Spring Cloud Alibaba RocketMQ " \4 J- C1 _9 F
9.2.1 Spring Cloud Alibaba RocketMQ架构图
- H% z5 n0 M( i! N4 e8 e/ t1 a1 {9 a& n% i9.2.2 Spring Cloud Stream消息发送流程
9 ]0 q4 ]1 ~% V' D2 \2 J9.2.3 RocketMQ Binder集成消息发送 / U* {8 w4 @7 ]0 q" l& d
9.2.4 RocketMQ Binder集成消息订阅 ) z. B3 B- L$ R+ F$ u' Y3 t: J
9.2.5 Spring Cloud Stream消息订阅流程
: x- n( H7 F; e ]6 o# f9.3 RocketMQ集群管理 8 b! j2 _ R/ p4 D# {# \+ r
9.3.1 整体架构设计 : r9 B" y! g! P4 C/ ]# E" r2 z
9.3.2 基本概念
; Y( L' H" f+ @: s9.3.3 为什么放弃ZooKeeper而选择NameServer
6 b- I4 ~, o1 F9.4 如何实现顺序消息
1 H: N& k8 o, H, a4 R4 e0 I# R9.4.1 顺序消息的使用场景
) a, R3 z: P/ I, ^9.4.2 如何发送和消费顺序消息
. I N; j8 }/ j9.4.3 顺序发送的技术原理 K1 ?3 z9 e/ u/ B( I
9.4.4 普通发送的技术原理 " E& R( S6 v' r
9.4.5 顺序消费的技术原理 4 o( \; V$ t$ ?, ~
9.4.6 并发消费的技术原理
9 s, h A! R- ^. ?7 ]( I9.4.7 消息的幂等性 3 l i% P- x: j! |4 `6 e
9.5 如何实现事务消息
* I+ T( O0 w# E; j9.5.1 事务消息的使用场景
$ }# u* i& S/ ]" }9.5.2 如何发送事务消息 # }0 D6 U, t. _
9.5.3 事务消息的技术原理 $ R% a9 q: o; J' p/ p* o$ V* t
9.6 高性能设计
* B1 {& o, T" B# z) @; P9.6.1 顺序写盘
6 `: `. X; V# G4 w3 u8 ?, b9.6.2 消费队列设计
: a& r( u4 T# e! S9.6.3 消息跳跃读取
% O3 }& P& Z/ x U0 d {9.6.4 数据零拷贝 + F8 o0 ^* k+ u3 W3 S
9.6.5 动态伸缩能力 ; C3 X! _( k; W
9.6.6 消息实时投递 & d* z% f3 c# Y! G8 f5 z$ x9 D
9.7 高可用设计 5 w/ F7 S2 ^$ ]9 p
9.7.1 消息发送重试机制 D$ U+ \7 Y/ |1 ]3 V
9.7.2 故障规避机制
7 x3 A( T+ A: r5 [9.7.3 同步刷盘与异步刷盘
; B: I* ~, N: s: B% A( z, B9.7.4 主从复制
/ f5 {. h$ \% c9 M6 E% W7 X) X9.7.5 读写分离 L3 u9 c3 I- H. W
9.7.6 消费重试机制 " @4 P1 M$ Q& H- J: ~8 q1 R
9.7.7 ACK机制 - ^" H) n& }, b) S
9.7.8 Broker集群部署 4 U( _- }, [9 u7 F) }
9.8 本章小结 a# M9 l+ c \ _* b
第10章 微服务网关之Spring Cloud Gateway
) t, m: T M* k6 k10.1 API网关的作用
& z: t/ B; l( |) K0 S; q- O& a) w; \( w10.1.1 统一认证鉴权
( J4 i( r6 F) s/ ~10.1.2 灰度发布
! [- m* l3 W( P" g' P" a10.2 网关的本质及技术选型
% D7 F. q3 T2 b9 b$ p# F* z9 \$ R10.2.1 OpenResty
% a' P r" j- d10.2.2 Spring Cloud Zuul , [7 k( d9 s; j. q8 V l
10.2.3 Spring Cloud Gateway 2 L0 Y1 _# U" a' ?: m9 C
10.3 Spring Cloud Gateway网关实战 ! J5 }, |1 W6 N( Q2 ?
10.3.1 spring-cloud-gateway-service 0 d# Q5 q! u V% }, u& X3 G
10.3.2 spring-cloud-gateway-sample
0 _) ~3 h$ f4 T' G% r" s10.4 Spring Cloud Gateway原理分析
& l: a, Z X$ W$ f2 c7 I2 K10.5 Route Predicate Factories 9 f! y. _" E1 A9 r
10.5.1 指定时间规则匹配路由
8 T. e' C/ } |4 l7 s4 p10.5.2 Cookie匹配路由 / s0 R- l3 U' v
10.5.3 Header匹配路由 $ T) f( v+ x3 @7 ^" I$ L. ]$ S
10.5.4 Host匹配路由 ' j( ^ `, y6 F. }5 p' n0 d+ v
10.5.5 请求方法匹配路由 / Z# f2 {, y3 I2 I' D
10.5.6 请求路径匹配路由
7 j7 e9 h* H. f; J% y( V10.6 Gateway Filter Factories 3 Z. J d1 E6 ?. ~; W- k! L9 U
10.6.1 GatewayFilter ' G6 a& w4 W P
10.6.2 GlobalFilter , X2 H6 s% m# n8 @4 O
10.7 自定义过滤器
! x% j; z/ ]9 g; e7 f- i10.7.1 自定义GatewayFilter 5 I6 t. u" L% H5 a. W
10.7.2 自定义GlobalFilter
! d2 `8 a. n% P( I; j) ^, B10.8 Spring Cloud Gateway集成Nacos实现请求负载
5 t& o) i; y/ d, m10.9 Spring Cloud Gateway集成Sentinel网关限流 . W8 s# c( G" k, k( Y
10.9.1 Route维度限流
; R- E, u! \/ z/ J( B/ y- e10.9.2 自定义API分组限流 - T. c2 }% L4 u* S; E
10.9.3 自定义异常
. J# r; {3 T! v, [, G1 e) ~10.9.4 网关流控控制台
4 p5 r% t5 S! O- Z10.9.5 网关限流原理
) a8 Q3 T- p. L1 ^, }10.10 本章小结
" S" {# M) v; Z4 a3 t k# r) V: W8 v' q0 X0 I
百度云盘下载地址(完全免费-绝无套路):
/ N6 K$ `( Q+ J1 l! U |