全新正版 深入理解分布式事务:原理与实战 肖宇,冰河 9787111692232 机械工业出版社
本店所售图书,保证正版新书,有个别图片和实书封面不一样,以实书封面为准,最快当天,一般隔天发货。支持7天无理由退换货.开票联系客服
¥
70.69
5.9折
¥
119
全新
库存3件
作者肖宇,冰河
出版社机械工业出版社
ISBN9787111692232
出版时间2021-10
装帧平装
开本16开
定价119元
货号31275847
上书时间2023-04-10
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
肖宇
分布式事务架构专家,Apache ShenYu(incubating)网关创始人,Dromara开源组织创始人,Hmily、RainCat、Myth等分布式事务框架的作者,Apache ShardingSphere提交者。
热爱开源,追求优雅代码。有丰富的微服务架构经验,尤其擅长微服务技术栈中的分布式事务、微服务架构、分布式数据库、API网关等解决方案。
冰河
互联网技术专家、MySQL技术专家、分布式事务架构专家。
多年来,一直致力于分布式系统架构、微服务、分布式数据库、分布式事务与大数据技术的研究,在高并发、高可用、高可扩展性、高可维护性和大数据等领域拥有丰富的架构经验。
可视化多数据源数据异构中间件mykit-data作者;《海量数据处理与大数据技术实战》和《MySQL技术大全:开发、优化与运维实战》作者;“冰河技术”公众号维护者。
目录
推荐语
序
前言
部分分布式事务基础
章事务的基本概念2
1.1事务的特性2
1.1.1原子性3
1.1.2一致性3
1.1.3隔离性3
1.1.4持久性3
1.2事务的类型4
1.2.1扁平事务4
1.2.2带有保存点的扁平事务4
1.2.3链式事务5
1.2.4嵌套事务5
1.2.5分布式事务5
1.3本地事务5
1.3.1基本概念6
1.3.2本地事务的执行流程6
1.3.3本地事务的优缺点7
1.4MySQL事务基础7
1.4.1并发事务带来的问题7
1.4.2MySQL事务隔离级别9
1.4.3MySQL中各种事务隔离级别的区别10
1.4.4MySQL事务隔离级别实践11
1.4.5MySQL中锁的分类19
1.4.6死锁的产生和预防23
1.4.7MySQL中的死锁问题24
1.4.8InnoDB中的MVCC原理25
1.5本章小结28
第2章MySQL事务的实现原理29
2.1RedoLog29
2.1.1RedoLog基本概念29
2.1.2RedoLog基本原理30
2.1.3RedoLog刷盘规则30
2.1.4RedoLog刷盘实践32
2.1.5RedoLog写入机制34
2.1.6RedoLog的LSN机制35
2.1.7RedoLog相关参数36
2.2UndoLog36
2.2.1UndoLog基本概念36
2.2.2UndoLog存储方式37
2.2.3UndoLog基本原理37
2.2.4UndoLog实现MVCC机制37
2.2.5UndoLog相关参数40
2.3BinLog41
2.3.1BinLog基本概念41
2.3.2BinLog记录模式41
2.3.3BinLog文件结构42
2.3.4BinLog写入机制43
2.3.5BinLog组提交机制43
2.3.6BinLog与RedoLog的区别45
2.3.7BinLog相关参数45
2.4MySQL事务流程46
2.4.1MySQL事务执行流程46
2.4.2MySQL事务恢复流程47
2.5MySQL中的XA事务48
2.5.1XA事务的基本原理48
2.5.2MySQLXA事务语法49
2.5.3JDBC操作MySQLXA事务52
2.6本章小结54
第3章Spring事务的实现原理55
3.1Spring事务原理55
3.1.1JDBC直接操作事务55
3.1.2使用Spring管理事务56
3.1.3Spring事务分类57
3.1.4Spring事务超时57
3.1.5Spring事务回滚规则57
3.2Spring事务三大接口57
3.2.1PlatformTransactionManager接口57
3.2.2TransactionDefinition接口58
3.2.3TransactionStatus接口60
3.3Spring事务隔离级别61
3.4Spring事务传播机制62
3.4.17种事务传播机制类型62
3.4.2常用的事务传播类型65
3.5Spring事务嵌套实践65
3.5.1环境准备66
3.5.2实践场景一71
3.5.3实践场景二72
3.5.4实践场景三73
3.5.5实践场景四74
3.5.6实践场景五75
3.5.7实践场景六76
3.5.8实践场景七77
3.6Spring事务失效的场景79
3.6.1数据库不支持事务79
3.6.2事务方法未被Spring管理79
3.6.3方法没有被public修饰79
3.6.4同一类中的方法调用80
3.6.5未配置事务管理器80
3.6.6方法的事务传播类型不支持事务81
3.6.7不正确地捕获异常81
3.6.8标注错误的异常类型82
3.7本章小结83
第4章分布式事务的基本概念84
4.1分布式系统架构84
4.1.1产生的背景84
4.1.2架构目标和架构原则85
4.2分布式系统架构演进86
4.2.1单体应用架构86
4.2.2垂直应用架构87
4.2.3分布式架构88
4.2.4SOA架构89
4.2.5微服务架构89
4.3分布式事务场景90
4.3.1跨JVM进程90
4.3.2跨数据库实例91
4.3.3多服务访问单数据库91
4.4数据一致性92
4.4.1数据的一致性问题92
4.4.2数据一致性解决方案93
4.5本章小结93
第5章分布式事务的理论知识94
5.1CAP理论94
5.1.1一致性94
5.1.2可用性95
5.1.3分区容忍性95
5.1.4CAP的组合96
5.2Base理论97
5.3本章小结98
第二部分分布式事务解决方案
第6章强一致性分布式事务解决方案100
6.1强一致性事务概述100
6.1.1典型方案100
6.1.2适用场景101
6.1.3优缺点101
6.2DTP模型101
6.2.1DTP模型的重要概念101
6.2.2DTP模型的执行流程102
6.32PC模型102
6.3.12PC模型的执行流程103
6.3.2事务执行成功的流程103
6.3.3事务执行失败的流程104
6.3.42PC模型存在的问题105
6.43PC模型105
6.4.1事务执行成功的流程105
6.4.2事务执行失败的流程106
6.4.33PC模型中存在的问题108
6.5本章小结108
第7章终一致性分布式事务解决方案109
7.1终一致性分布式事务概述109
7.1.1典型方案109
7.1.2适用场景110
7.1.3优缺点110
7.2服务模式110
7.2.1可查询操作111
7.2.2幂等操作111
7.2.3TCC操作112
7.2.4可补偿操作113
7.3TCC解决方案113
7.3.1适用场景114
7.3.2需要实现的服务模式114
7.3.3方案的执行流程114
7.3.4方案的优缺点115
7.3.5需要注意的问题116
7.4可靠消息终一致性解决方案117
7.4.1适用场景117
7.4.2需要实现的服务模式117
7.4.3方案的执行流程118
7.4.4方案的优缺点119
7.4.5需要注意的问题120
7.5努力通知型解决方案120
7.5.1适用场景120
7.5.2需要实现的服务模式121
7.5.3方案的执行流程121
7.5.4方案的优缺点122
7.5.5需要注意的问题122
7.5.6努力通知与可靠消息终一致性的区别123
7.6本章小结123
第三部分分布式事务原理
第8章XA强一致性分布式事务原理126
8.1X/OpenDTP模型与XA规范126
8.1.1DTP模型126
8.1.2XA规范127
8.1.3JTA规范127
8.1.4XA二阶段提交128
8.2MySQL对XA规范的支持129
8.2.1MySQLXA事务的语法129
8.2.2MySQLXID详解129
8.2.3MySQLXA事务的状态130
8.2.4MySQLXA的问题131
8.3XA规范的问题思考132
8.3.1XA规范的缺陷132
8.3.2XA流程的优化与异常思考133
8.3.3解决XA数据不一致的问题134
8.3.4解决事务管理器的单点故障问题135
8.4主流的解决方案135
8.5本章小结136
第9章TCC分布式事务原理137
9.1TCC核心思想137
9.2TCC实现原理139
9.2.1TCC核心组成139
9.2.2TCC核心原理140
9.3TCC核心流程142
9.3.1业务场景介绍142
9.3.2Try阶段流程143
9.3.3Confirm阶段流程144
9.3.4Cancel阶段流程145
9.4TCC关键技术146
9.5本章小结147
0章可靠消息终一致性分布式事务原理148
10.1基本原理148
10.2本地消息表149
10.2.1实现原理149
10.2.2优缺点150
10.3独立消息服务151
10.3.1实现原理151
10.3.2优缺点152
10.4RocketMQ事务消息153
10.4.1实现原理153
10.4.2RocketMQ本地事务监听接口154
10.5消息发送的一致性155
10.5.1消息发送与确认机制155
10.5.2消息发送的不一致性156
10.5.3如何保证消息发送的一致性157
10.6消息接收的一致性158
10.6.1消息接收与确认机制158
10.6.2消息接收的不一致性159
10.6.3如何保证消息接收的一致性159
10.7消息的可靠性161
10.7.1消息发送的可靠性161
10.7.2消息存储的可靠性161
10.7.3消息消费的可靠性162
10.8本章小结162
1章努力通知型分布式事务原理163
11.1适用场景163
11.2方案特点164
11.3基本原理164
11.4异常处理165
11.5本章小结166
第四部分分布式事务源码与实战
2章XA强一致性分布式事务解决方案源码解析168
12.1分布式数据一致性场景的搭建168
12.1.1构建环境168
12.1.2准备环境169
12.1.3修改配置169
12.1.4启动171
12.1.5验证171
12.2ShardingSphere对XA分布式事务方案的整合172
12.2.1ShardingTransactionManager接口172
12.2.2XATransactionManager接口174
12.2.3DataSourceSwapper类174
12.2.4XAConnectionWrapper接口175
12.2.5XA事务初始化175
12.2.6XA资源注册176
12.3ShardingSphere对Atomikos方案的实战与源码解析178
12.3.1Atomikos-XA分布式事务初始化流程178
12.3.2Atomikos-XA分布式事务Begin流程183
12.3.3Atomikos-XA分布式事务资源注册原理185
12.3.4Atomikos-XA分布式事务Commit流程186
12.3.5Atomikos-XA分布式事务Rollback流程191
12.3.6Atomikos-XA分布式事务恢复流程193
12.4ShardingSphere对Narayana方案的实战与源码解析198
12.4.1Narayana环境搭建198
12.4.2Narayana-XA分布式事务初始化流程199
12.4.3Narayana-XA分布式事务Begin流程206
12.4.4Narayana-XA分布式事务资源注册208
12.4.5Narayana-XA分布式事务Commit流程208
12.4.6Narayana-XA分布式事务Rollback流程211
12.4.7Narayana-XA分布式事务恢复流程212
12.5本章小结216
3章Hmily-TCC分布式事务解决方案源码解析217
13.1Hmily-TCC分布式场景的搭建217
13.1.1准备环境218
13.1.2下载源码并编译220
13.1.3修改配置220
13.1.4启动程序222
13.1.5验证223
13.2Hmily框架初始流程源码解析223
13.2.1加载配置225
13.2.2初始化事务日志存储229
13.2.3初始化事务恢复调度器234
13.2.4初始化事件分发器235
13.2.5初始化Metrics监控信息236
13.3Hmily-TCC分布式事务源码解析238
13.3.1Try流程源码解析239
13.3.2Confirm流程源码解析253
13.3.3Cancel流程源码解析258
13.4Hmily对RPC框架的支持261
13.4.1对Dubbo框架的支持261
13.4.2对SpringCloud框架的支持263
13.4.3对BRPC框架的支持265
13.4.4对Motan框架的支持267
13.4.5对gRPC框架的支持268
13.4.6对Sofa-RPC框架的支持270
13.4.7对Tars框架的支持272
13.5Hmily-TCC事务恢复源码解析273
13.5.1逻辑处理274
13.5.2事务恢复275
13.6本章小结276
4章XA强一致性分布式事务实战277
14.1场景说明277
14.2程序模块说明278
14.3数据库表设计278
14.4程序实现279
14.4.1项目搭建279
14.4.2持久层的实现287
14.4.3业务逻辑层的实现288
14.4.4接口层的实现289
14.4.5项目启动类的实现290
14.5测试程序290
14.6本章小结292
5章TCC分布式事务实战293
15.1场景说明293
15.2程序模块说明294
15.3数据库表设计295
15.4实现项目公共模块297
15.4.1项目搭建297
15.4.2持久层的实现300
15.4.3Dubbo接口的定义304
15.5实现转出银行微服务305
15.5.1项目搭建305
15.5.2业务逻辑层的实现311
15.5.3接口层的实现313
15.5.4项目启动类的实现313
15.6实现转入银行微服务314
15.6.1业务逻辑层的实现314
15.6.2项目启动类的实现315
15.7测试程序316
15.8本章小结318
6章可靠消息终一致性分布式事务实战319
16.1场景说明319
16.2程序模块说明321
16.3RocketMQ环境搭建与测试321
16.3.1搭建Java环境321
16.3.2搭建RocketMQ环境322
16.3.3测试RocketMQ环境324
16.4数据库表设计326
16.5实现订单微服务328
16.5.1项目搭建328
16.5.2持久层的实现333
16.5.3业务逻辑层的实现335
16.5.4接口层的实现338
16.5.5项目启动类的实现338
16.6实现库存微服务339
16.6.1项目搭建339
16.6.2持久层的实现339
16.6.3业务逻辑层的实现341
16.6.4项目启动类的实现343
16.7测试程序343
16.8本章小结345
7章努力通知型分布式事务实战347
17.1场景说明347
17.2程序模块说明348
17.3数据库表设计348
17.4实现账户微服务350
17.4.1项目搭建350
17.4.2持久层的实现355
17.4.3业务逻辑层的实现358
17.4.4接口层的实现360
17.4.5启动类的实现360
17.5实现充值微服务361
17.5.1项目搭建与持久层的实现361
17.5.2业务逻辑层的实现361
17.5.3接口层的实现362
17.5.4启动类的实现363
17.6测试程序363
17.7本章小结365
— 没有更多了 —
以下为对购买帮助不大的评价