-
>
全国计算机等级考试最新真考题库模拟考场及详解·二级MSOffice高级应用
-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
C Primer Plus 第6版 中文版
-
>
深度学习
-
>
MATLAB计算机视觉与深度学习实战-赠在线交流卡和本书源码
Vert.x实战 版权信息
- ISBN:9787302605676
- 条形码:9787302605676 ; 978-7-302-60567-6
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
Vert.x实战 本书特色
Vert.x是Java虚拟机中一系列库的集合,它简化了基于事件的异步编程的过程。Vert.x应用程序可以处理各种繁杂的任务,如异步通信、并发处理、消息机制和数据持久化,并且它易于扩展、修改和维护。Vert.x由Eclipse Foundation支持,被Red Hat等公司使用,支持多种语言的代码。 《Vert.x实战》教你使用Java构建具有产品级质量的反应式应用程序。本书涵盖了Vert.x的核心概念,以及异步编程和反应式编程的基本原理。通过阅读本书,你将掌握如何用Vert.x工具包开发微服务,如何与数据库通信,如何进行持久化的消息通信,以及如何测试应用程序的弹性。书中包含的各种模式和技术都可以转化到Vert.x以外的其他反应式技术和框架中。
Vert.x实战 内容简介
主要内容 ● 如何构建反应式的服务 ● 如何对外部服务的故障做出响应 ● 如何进行水平扩展 ● Vert.x工具包的架构及其测试方式 ● 如何基于Docker和Kubernetes部署服务
Vert.x实战 目录
第Ⅰ部分 基于Vert.x的异步编程基本原理
第1章 Vert.x、异步编程和反应式系统 3
1.1 分布式和网络化是常态 3
1.2 我们不是在孤岛上生活 4
1.3 网络上没有免费的午餐 5
1.4 简洁的阻塞式API 5
1.5 阻塞式API浪费了资源,增加了成本 7
1.6 基于非阻塞I/O的异步
编程 9
1.7 事件驱动的多路复用:事件循环 12
1.8 什么是反应式系统 15
1.9 反应式还有哪些含义 16
1.10 什么是Vert.x 17
1.11 你的**个Vert.x应用 程序 18
1.11.1 准备项目 18
1.11.2 VertxEcho类 19
1.11.3 回调函数的角色 21
1.11.4 它是反应式的吗 22
1.12 Vert.x的替代品 23
1.13 本章小结 25
第2章 Verticle:Vert.x的基本处理单元 27
2.1 编写一个Verticle 27
2.1.1 准备项目 28
2.1.2 实现Verticle类 29
2.1.3 运行并初次观察 30
2.2 关于Verticle的更多细节 32
2.2.1 阻塞与事件循环 32
2.2.2 生命周期事件的异步通知 33
2.2.3 部署Verticle 35
2.2.4 传递配置参数 38
2.3 当代码需要阻塞时 39
2.3.1 Worker Verticle 39
2.3.2 executeBlocking方法 40
2.4 Verticle中到底有什么 42
2.4.1 Verticle及其环境 42
2.4.2 关于Verticle Context的更多细节 43
2.4.3 桥接Vert.x线程和非Vert.x线程 45
2.5 本章小结 46
第3章 事件总线:Vert.x应用程序的骨干 47
3.1 什么是事件总线 47
3.1.1 事件总线是不是另一种消息代理 48
3.1.2 “点对点”模式 49
3.1.3 “请求-应答”模式 49
3.1.4 “发布-订阅”模式 50
3.2 事件总线的示例 51
3.2.1 温度传感器Verticle 52
3.2.2 监听器Verticle 53
3.2.3 传感器数据Verticle 54
3.2.4 HTTP服务器Verticle 54
3.2.5 启动应用程序 58
3.3 集群化和分布式的事件总线 59
3.3.1 Vert.x中的集群 59
3.3.2 从事件总线到分布式事件总线 60
3.4 本章小结 63
第4章 异步数据和事件流 65
4.1 统一的流模型 65
4.2 什么是背压 68
4.3 开发一个音乐流点唱机 70
4.3.1 功能与用法 71
4.3.2 HTTP处理:宏观视图 73
4.3.3 点唱机Verticle的基础 73
4.3.4 传入的HTTP连接 75
4.3.5 尽可能高效地下载 76
4.3.6 读取MP3文件,但不能太快 77
4.4 解析简单的流 81
4.5 解析复杂的流 83
4.6 关于流获取模式的简短说明 86
4.7 本章小结 88
第5章 回调以外的异步编程模型 89
5.1 构建异步操作:一个边缘服务的示例 89
5.1.1 应用场景 90
5.1.2 温度传感器Verticle 91
5.1.3 快照服务Verticle 92
5.2 回调 93
5.2.1 实现 93
5.2.2 运行 95
5.2.3 “回调地狱”不是根本问题 96
5.3 Future和Promise 98
5.3.1 Vert.x中的Future和Promise 98
5.3.2 Vert.x 4中基于Future的API 100
5.3.3 与CompletionStage API的互操作 100
5.3.4 使用Vert.x Future特性实现的Collector
Service 102
5.4 反应式扩展 103
5.4.1 RxJava的简要说明 104
5.4.2 RxJava与Vert.x 107
5.4.3 用RxJava实现的CollectorService 108
5.5 Kotlin协程 111
5.5.1 什么是协程 111
5.5.2 Vert.x与Kotlin的协程 112
5.5.3 使用协程实现边缘服务 113
5.6 究竟应该用哪一种模型 115
5.7 本章小结 116
第6章 不只是事件总线 117
6.1 用服务API重新实现温度传感器 117
6.2 RPC的回归 118
6.3 定义服务接口 119
6.4 服务的实现 121
6.5 启用Proxy代码自动生成 122
6.6 部署事件总线服务 122
6.7 回调之外的服务代理 123
6.8 Vert.x中的测试 125
6.8.1 在Vert.x中使用JUnit 5 125
6.8.2 测试DataVerticle 126
6.8.3 运行测试 129
6.9 本章小结 129
第Ⅱ部分 用Vert.x开发反应式服务
第7章 设计一个反应式应用程序 133
7.1 反应式应用程序的必要条件 133
7.2 “一万步挑战” 134
7.3 一个应用程序,多个服务 137
7.4 服务规范 139
7.4.1 用户资料服务 139
7.4.2 数据收集服务 140
7.4.3 用户活动服务 141
7.4.4 对外接口服务 143
7.4.5 用户Web应用程序 144
7.4.6 事件统计服务 145
7.4.7 贺信服务 146
7.4.8 公告牌Web应用程序 146
7.5 运行应用程序 147
7.6 本章小结 149
第8章 Web技术栈 151
8.1 实现对外接口服务 152
8.1.1 路由HTTP请求 152
8.1.2 发起HTTP请求 154
8.2 用JWT令牌进行访问控制 156
8.2.1 使用JWT令牌 156
8.2.2 JWT令牌中有
什么 158
8.2.3 用Vert.x处理JWT令牌 159
8.2.4 用Vert.x签发JWT令牌 161
8.3 跨域资源共享(CORS) 162
8.3.1 问题在哪里 162
8.3.2 在Vert.x中支持CORS 164
8.4 一个现代化的Web前端 165
8.4.1 Vue.js 165
8.4.2 Vue.js应用程序结构及构建集成 166
8.4.3 后端集成的效果演示 168
8.4.4 在Vert.x中服务静态内容 170
8.5 编写集成测试 171
8.6 本章小结 175
第9章 Vert.x中的消息机制与事件流 177
9.1 用Vert.x实现基于事件驱动的服务 177
9.1.1 Vert.x为我们提供了什么 178
9.1.2 我们会用到的中间件和服务 179
9.1.3 AMQP和Message Broker简介 179
9.1.4 Kafka简介 180
9.2 通过HTTP和AMQP
可靠地接收消息 181
9.2.1 从AMQP接收数据 181
9.2.2 将AMQP消息转换成Kafka记录 183
9.2.3 从HTTP接收数据 185
9.3 发送贺信 186
9.3.1 监听每日步数变化 187
9.3.2 发送邮件 188
9.4 集成测试 190
9.4.1 测试收取功能 190
9.4.2 测试贺信功能 193
9.5 本章小结 196
第10章 用数据库进行持久化状态管理 197
10.1 数据库与Vert.x 197
10.1.1 Eclipse Vert.x支持的数据库客户端 198
10.1.2 数据对象映射并非必需 199
10.2 使用MongoDB的用户资料服务 200
10.2.1 数据模型 200
10.2.2 用户资料API Verticle及其初始化 201
10.2.3 校验用户输入 202
10.2.4 在MongoDB中添加用户 203
10.2.5 用户的认证 206
10.2.6 获取用户数据 207
10.2.7 更新用户数据 208
10.3 使用PostgreSQL的用户活动服务 209
10.3.1 服务的数据模型 209
10.3.2 打开一个连接池 210
10.3.3 设备更新事件的生命周期 210
10.3.4 插入新记录 211
10.3.5 生成设备的每日运动更新 213
10.3.6 用户活动服务的查询接口 214
10.4 集成测试 215
10.4.1 测试用户资料服务 215
10.4.2 测试用户活动服务接口 218
10.4.3 测试用户活动服务的事件处理 219
10.5 本章小结 222
第11章 端到端的实时反应式事件处理 223
11.1 使用Kafka和RxJava实现高级的流式数据处理 223
11.1.1 生成用户当天步数更新 224
11.1.2 计算数据收集服务的吞吐量 226
11.1.3 计算各城市的数据趋势 227
11.2 实时的反应式Web应用 程序 229
11.2.1 将Kafka消息转发至Vert.x事件总线 230
11.2.2 桥接事件总线和Web应用程序 231
11.2.3 Web应用程序基于Kafka消息的实时更新 233
11.3 流与状态 235
11.3.1 数据更新流 235
11.3.2 排名数据的水合阶段 235
11.3.3 根据消息流周期性地更新排名 237
11.4 本章小结 240
第12章 通过负载测试和混沌测试提升系统响应能力 241
12.1 初始实验:系统的性能 好吗 242
12.1.1 负载测试前的一些考量 242
12.1.2 用Locust模拟用户 243
12.1.3 用Hey进行负载测试 246
12.2 混沌测试 250
12.2.1 测试方案 250
12.2.2 用Pumba进行混沌测试 251
12.2.3 系统尚不具备回弹性 253
12.3 从“可扩展性”到“可扩展
性+回弹性” 254
12.3.1 强制超时 254
12.3.2 使用断路器 256
12.3.3 回弹性与后备策略 260
12.4 本章小结 264
Vert.x实战 作者简介
本书作者Julien Ponge是Red Hat公司的首席软件工程师,致力于Eclipse Vert.x项目。
- >
我与地坛
我与地坛
¥16.8¥28.0 - >
【精装绘本】画给孩子的中国神话
【精装绘本】画给孩子的中国神话
¥17.6¥55.0 - >
名家带你读鲁迅:故事新编
名家带你读鲁迅:故事新编
¥13.0¥26.0 - >
月亮与六便士
月亮与六便士
¥13.4¥42.0 - >
伯纳黛特,你要去哪(2021新版)
伯纳黛特,你要去哪(2021新版)
¥15.9¥49.8 - >
烟与镜
烟与镜
¥18.2¥48.0 - >
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
¥6.3¥14.0 - >
上帝之肋:男人的真实旅程
上帝之肋:男人的真实旅程
¥19.3¥35.0
-
2022图书×抽奖盲袋
¥9.9¥25 -
2023读书月阅读盲盒——天黑,闭眼,刀谁?
¥42.3¥158 -
2022读者节纪念徽章-三星会员专属
¥45¥45.6 -
2023读书月阅读盲盒——我什么场面没见过?
¥42.3¥158 -
2023读书月阅读盲盒——去码头整点什么薯条?
¥42.3¥158