基于Spring Boot实现:Java分布式中间件开发入门与实战
书籍作者:钟林森 |
ISBN:9787115535603 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:5214 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
本书主要是围绕构建分布式系统架构的“中间件”开发实战展开。开篇介绍了分布式系统架构的相关知识要点,包括其功能、作用以及演进历程,并由此引出了分布式中间件的相关介绍;紧接着是重点介绍了目前在实际生产环境中应用比较广泛的几款Java中间件,包括缓存中间件Redis、消息中间件RabbitMQ、统一协调管理中间件ZooKeeper以及综合中间件Redisson等,详尽介绍了这几款中间件的基本概念、典型应用场景以及相应的功能组件。值得一提的是,在介绍这几款中间件的理论知识时,本书还以微框架Spring Boot作为基础,整合相关中间件的依赖,结合作者的实际项目业务场景进行代码实战。
本书以代码实战为主,理论为辅,特别适用于初次接触中间件的开发者;而对于有一定Java应用开发经验的工程师而言,通过本书也能了解中间件在构建企业级应用系统的过程中所提供的解决方案和思路。
作者简介
钟林森(修罗debug)
曾在阿里游戏子公司担任高级后端开发工程师,创办过fightjava 程序员实战基地,长期扎根于一线编码开发与系统架构设计,现为东英网络科技有限公司创始合伙人。此外,作为CSDN博客专家、51CTO学院、CSDN 学院、网易云课堂等教育平台知名讲师,教授学生上万人,拥有大量原创博客,博客访问量达百万人次。追求技术,热爱分享,相信技术改变生活,技术成就梦想,一直在不断地学习和积累新知识。
编辑推荐
·案例丰富 零基础到深入实战,近30个企业级应用案例
·图文并茂 配合80多幅流程图进行讲解,加深读者对中间件原理的理解
·注重实战 结合大量简洁、优雅的高质量代码实例,提高读者开发水平
目录
走进分布式中间件 01
1.1 分布式系统概述 01
1.1.1 分布式系统定义 02
1.1.2 分布式系统发展历程 02
1.1.3 分布式系统特性 05
1.1.4 分布式系统常见问题 06
1.2 分布式中间件概述 06
1.2.1 分布式中间件简介 06
1.2.2 常见中间件介绍 07
1.3 本书核心知识要点 08
1.4 本书实战要求与建议 09
搭建Spring Boot微服务项目 11
2.1 Spring Boot概述 11
2.1.1 什么是Spring Boot 11
2.1.2 Spring Boot的优势 12
2.1.3 Spring Boot的特性 13
2.2 搭建规范与搭建流程 14
2.2.1 Spring Boot项目的搭建规范 14
2.2.2 Spring Boot项目的搭建流程 15
2.2.3 写个“Hello World”吧 30
2.3 总结 33
缓存中间件Redis 34
3.1 Redis概述与典型应用场景介绍 34
3.2 Redis的使用 36
3.2.1 快速安装Redis 36
3.2.2 在Windows环境使用Redis 38
3.2.3 Spring Boot项目整合Redis 41
3.2.4 Redis自定义注入Bean组件配置 42
3.2.5 RedisTemplate实战 44
3.2.6 StringRedisTemplate实战 49
3.3 Redis常见数据类型实战 52
3.3.1 字符串 52
3.3.2 列表 55
3.3.3 集合 57
3.3.4 有序集合 58
3.3.5 哈希存储 61
3.3.6 Key失效与判断是否存在 65
3.4 Redis实战场景之缓存穿透 68
3.4.1 什么是缓存穿透 68
3.4.2 缓存穿透的解决方案 69
3.4.3 实战过程 70
3.4.4 其他典型的问题介绍 79
3.5 总结 80
Redis典型应用场景实战之抢红包系统 81
4.1 整体业务流程介绍 81
4.1.1 抢红包系统业务流程 82
4.1.2 业务流程分析 82
4.1.3 业务模块划分 84
4.2 数据库设计与环境搭建 85
4.2.1 数据库设计 85
4.2.2 开发环境搭建 88
4.2.3 开发流程介绍 103
4.3 “红包金额”随机生成算法实战 107
4.3.1 随机数算法 108
4.3.2 红包随机金额生成算法要求 109
4.3.3 二倍均值法简介 109
4.3.4 红包随机金额生成算法实战 111
4.3.5 红包随机金额生成算法自测 113
4.4 “发红包”模块实战 115
4.4.1 业务模块分析 115
4.4.2 整体流程实战 117
4.4.3 业务模块自测 127
4.5 “抢红包”模块实战 129
4.5.1 业务模块分析 129
4.5.2 整体流程实战 130
4.5.3 业务模块自测 135
4.5.4 小结 139
4.6 JMeter压测高并发抢红包 140
4.7 问题分析与优化方案实战 146
4.7.1 问题分析 147
4.7.2 优化方案介绍 148
4.7.3 优化方案之Redis分布式锁实战 148
4.7.4 不足之处 152
4.8 总结 153
消息中间件RabbitMQ 154
5.1 RabbitMQ概述 154
5.1.1 认识RabbitMQ 155
5.1.2 典型应用场景介绍 156
5.1.3 RabbitMQ后端控制台介绍 162
5.1.4 基于Spring的事件驱动模型实战 164
5.2 Spring Boot项目整合RabbitMQ 169
5.2.1 RabbitMQ相关词汇介绍 170
5.2.2 Spring Boot项目整合RabbitMQ 171
5.2.3 自定义注入配置Bean相关组件 172
5.2.4 RabbitMQ发送和接收消息实战 177
5.2.5 其他发送和接收消息方式实战 184
5.3 RabbitMQ多种消息模型实战 191
5.3.1 基于FanoutExchange的消息模型实战 191
5.3.2 基于DirectExchange的消息模型实战 201
5.3.3 基于TopicExchange的消息模型实战 209
5.4 RabbitMQ确认消费机制 218
5.4.1 消息高可用和确认消费机制 218
5.4.2 常见确认消费模式介绍 221
5.4.3 基于自动确认消费模式实战 223
5.4.4 基于手动确认消费模式实战 232
5.5 典型应用场景实战之用户登录成功写日志 240
5.5.1 整体业务流程介绍与分析 241
5.5.2 数据库设计 242
5.5.3 开发环境搭建 254
5.5.4 基于TopicExchange构建日志消息模型 259
5.5.5 异步发送和接收登录日志消息实战 261
5.5.6 整体业务模块自测实战 267
5.6 总结 270
死信队列实战 271
6.1 死信队列概述 271
6.1.1 死信队列简介与作用 271
6.1.2 典型应用场景介绍 274
6.2 RabbitMQ死信队列实战 275
6.2.1 死信队列专有词汇介绍 276
6.2.2 死信队列消息模型实战 277
6.2.3 死信队列延迟发送和接收消息实战 284
6.3 典型应用场景实战之商城平台订单支付超时 292
6.3.1 整体业务场景介绍 292
6.3.2 整体业务流程分析 294
6.3.3 数据库设计 294
6.3.4 构建RabbitMQ死信队列消息模型 307
6.3.5 Controller层开发生成并失效用户下单功能 312
6.3.6 “用户下单支付超时”延迟发送和接收实战 320
6.3.7 “用户下单支付超时”整体功能自测 326
6.4 总结 331
分布式锁实战 333
7.1 分布式锁概述 333
7.1.1 锁机制 334
7.1.2 分布式锁登场 342
7.1.3 典型应用场景介绍 344
7.1.4 小结 347
7.2 基于数据库实现分布式锁 347
7.2.1 乐观锁简介 347
7.2.2 乐观锁实战 349
7.2.3 JMeter高并发测试乐观锁 364
7.2.4 悲观锁简介 371
7.2.5 悲观锁实战 372
7.2.6 JMeter高并发测试悲观锁 376
7.2.7 小结 377
7.3 基于Redis实现分布式锁 378
7.3.1 Redis温故而知新 378
7.3.2 分布式锁的实现流程与原理分析 380
7.3.3 基于Redis实战实现分布式锁 381
7.3.4 JMeter高并发测试 394
7.3.5 小结 398
7.4 基于ZooKeeper实现分布式锁 399
7.4.1 ZooKeeper简介与作用 399
7.4.2 分布式锁的实现流程与原理分析 401
7.4.3 Spring Boot整合ZooKeeper 403
7.4.4 基于ZooKeeper实战实现分布式锁 407
7.4.5 JMeter高并发测试 410
7.4.6 小结 412
7.5 典型应用场景之书籍抢购模块设计与实战 412
7.5.1 整体业务流程介绍与分析 412
7.5.2 数据表设计与用例设计 414
7.5.3 书籍抢购核心业务逻辑开发实战 420
7.5.4 Jmeter重现“库存超卖”的问题 426
7.5.5 基于分布式锁实战解决相关问题 427
7.5.6 小结 433
7.6 总结 434
综合中间件Redisson 435
8.1 Redisson概述 436
8.1.1 Redisson简介与作用 436
8.1.2 Redisson的功能特性 438
8.1.3 典型应用场景介绍之布隆过滤器与主题 439
8.1.4 典型应用场景介绍之延迟队列与分布式锁 444
8.1.5 Spring Boot整合Redisson 447
8.2 Redisson常见功能组件实战 453
8.2.1 布隆过滤器 453
8.2.2 发布-订阅式主题 458
8.2.3 数据类型之映射Map 466
8.2.4 数据类型之集合Set 473
8.2.5 队列Queue实战 480
8.2.6 死信队列实战 486
8.2.7 延迟队列实战 496
8.3 分布式锁实战 503
8.3.1 重温分布式锁 503
8.3.2 分布式锁之一次性实战 505
8.3.3 分布式锁之可重入实战 511
8.4 总结 518
Redisson典型应用场景实战之高性能点赞 520
9.1 整体业务流程介绍与分析 520
9.1.1 业务背景介绍 521
9.1.2 业务流程介绍与分析 522
9.1.3 业务模块划分与数据库设计 525
9.2 “点赞”与“取消点赞”操作模块实战 533
9.2.1 “点赞”与“取消点赞”业务流程分析 533
9.2.2 Controller层接收请求信息 536
9.2.3 Service层插入、更新并缓存记录信息 540
9.2.4 业务模块自测 552
9.3 “点赞排行榜”业务模块实战 554
9.3.1 “点赞排行榜”业务流程分析 555
9.3.2 接收前端请求并触发缓存点赞排行榜 556
9.3.3 业务模块自测 560
9.4 总结 564
总结与回顾 566
短评
厚厚的一本,印刷清晰,有塑封,整体满意
2020-06-17 01:46:30
618买书特别划算,这本书的包装很新,不过这本书还没有看,但是作者搞了一本一模一样的书叫分布式中间件技术实战,还是挺神奇的,也不知道有没有把之前的错误改过来,我两本都买了,之前那本感觉内容还行,适合入门学习,这本还是等看完了再追评
2020-06-18 00:28:25
自我提升很重要,深入学习一下
2020-06-20 11:16:41
6666666666666
2020-06-23 23:53:59
有很多干货,值得一读
2020-06-23 08:39:23
还不错,好好学习,汲取营养,攀登高峰
2020-06-18 11:04:12
凑单买的没详细看目录,给差评是作者过于厚颜无耻!为啥这样说呢,因为我前段时间买了书叫做:分布式中间件技术实战(Java版),这两本书其实内容是一模一样的,作者换个书名换个出版社又出版了一次!钟林森先生,你有这么缺钱吗?这本书差不多600页,里面大段大段的代码!我还没见过贴代码贴得这么丧心病狂的。更搞笑的是,一样的内容,我之前买的那本书比这本少了一百多页,为什么?因为这本书把字体调大了。具体的大家看图吧,不要买这种没底线的人写的书!
2020-06-17 10:55:19
包装很好,配送也非常及时,我很满意
2020-06-16 17:07:37
特别好,特别有帮助,
2020-06-13 21:04:21
不错,很好很合适,用来作为参考书籍。
2020-06-08 17:08:31