暂无商品咨询信息 [发表商品咨询]
源自顶级实践:内容基于vivo旗下3亿终端稳定推送服务的成功经验,经受过海量流量考验。
路径完整清晰:遵循“应用→特性→原理→源码”的渐进式学习曲线,适合不同阶段的开发者。
双语言深度解析:同时涵盖Java与Cpp两大主流生态的源码解读,满足不同技术栈团队的需求。
行业重磅背书:TARS基金会官方推荐,腾讯技术奠基人、vivo业务负责人、TARS核心贡献者联袂推荐。
RPC框架是服务端开发者的常用框架,本书基于Linux基金会旗下的Tars框架编写,旨在帮助读者掌握高性能RPC框架Tars。
本书共6章。第1章介绍Tars框架知识与多语言交互实战项目;第2章讲述Tars框架的使用,例如用docker-compose部署Tars服务框架,以及不同语言(以Java和Go为例)服务的构建和调用;第3章介绍Tars框架的高级特性,涉及按set调用、无损发布、自定义Filter、使用Tars管理命令、使用Protocol Buffers协议等内容;第4章剖析Tars框架核心原理,包括Tars RPC原理及Tars NIO网络编程和Tars Netty网络编程;第5章进行Tars-Java源码解析,涵盖Tars客户端源码分析、Tars服务端源码分析等;第6章进行Tars-Cpp源码解析,涉及Tars-Cpp整体架构、Tars-Cpp网络层实现分析等。书中还有丰富的案例和代码演示,读者可借助配套资源进行实践以进一步巩固所学知识。
本书适合有一定服务端开发基础,想要掌握高性能RPC框架Tars的读者阅读。通过阅读本书,读者能够更好地掌握Tars相关特性,并将其运用到开发实践中。
vivo互联网消息推送平台团队肩负着vivo公司消息推送平台的研发与支持重任。团队汇聚了一批资深服务器研发工程师与专家,他们自2018年起便投身于Tars框架的研究与实践,并将其深度应用于vivo消息推送平台的研发,积累了丰富的真实场景经验。
如今,该团队所打造的消息推送平台表现卓越,能够稳定支撑vivo消息推送平台每日百亿级消息的推送任务,同时保障全球数亿台手机终端设备的长连接稳定在线。此外,团队还持续关注新技术在消息推送等领域的应用探索,并通过积极撰写技术文章、组织技术演讲、贡献代码等多种形式,将自身经验与成果在行业内广泛分享。
第1章 Tars——多语言高性能RPC框架1
1.1Tars框架简介1
1.1.1设计思想1
1.1.2架构拓扑2
1.1.3服务交互流程3
1.1.4Tars服务的基础概念5
1.2实战项目介绍6
第2章 Tars框架的使用7
2.1使用docker-compose部署Tars服务框架7
2.1.1部署脚本7
2.1.2平台使用简介9
2.2Tars-Java服务构建及调用10
2.2.1服务端开发10
2.2.2客户端开发13
2.3Tars-Go服务构建及调用16
2.3.1服务端开发16
2.3.2客户端开发18
第3章 Tars框架的高级特性19
3.1按set调用19
3.1.1配置set19
3.1.2使用set20
3.2无损发布21
3.2.1需求背景21
3.2.2节点的静态权重21
3.2.3流量控制23
3.3自定义Filter24
3.3.1自定义日志拦截器24
3.3.2MDC与异步线程26
3.3.3基于SpringAOP实现MDC链路追踪切面27
3.4使用Tars管理命令28
3.4.1停止Tars服务28
3.4.2Tars内置的管理命令28
3.4.3Tars自定义命令29
3.5使用ProtocolBuffers协议31
3.6调用链追踪的原理32
3.6.1分布式系统的远程调用过程33
3.6.2调用链追踪系统的设计与实现36
3.6.3开源调用链38
3.7Tars-Java调用链实践及源码分析39
3.7.1部署Zipkin服务40
3.7.2服务端代码埋点40
3.7.3通过私有模板配置调用链地址40
3.7.4动手实践42
3.7.5源码分析44
3.8Tars分布式缓存DCache49
3.8.1DCache简介49
3.8.2安装DCache51
3.8.3使用DCache51
3.8.4原理55
第4章 Tars框架核心原理59
4.1TarsRPC原理剖析59
4.1.1什么是RPC59
4.1.2如何实现一个RPC60
4.1.3Tars如何实现RPC65
4.2TarsNIO网络编程75
4.2.1JavaNIO原理概述75
4.2.2TarsNIO网络编程80
4.3TarsNetty网络编程87
4.3.1使用方法和实现细节87
4.3.2源码解析90
第5章 Tars-Java源码解析96
5.1Tars客户端源码分析96
5.1.1远程调用的一般流程96
5.1.2Tars-Java客户端设计介绍97
5.2Tars服务端源码分析107
5.2.1服务端启动流程108
5.2.2Tars监控112
5.2.3自定义命令116
5.3RPC请求异步转同步121
5.3.1传统的TCP通信121
5.3.2Tars-Java1.7.x之前版本122
5.3.3Tars-Java1.7.x及之后版本130
5.3.4Tars-Java2.x及之后版本133
5.4Tars-Java染色介绍134
5.4.1Tars-Java染色功能概述134
5.4.2Tars-Java染色源码分析137
5.4.3小结143
5.5Tars文件如何生成Java代码144
5.5.1Tars-Java代码生成示例144
5.5.2Maven插件编写之Mojo146
5.5.3Tars文件解析148
5.6Tars-Java日志介绍153
5.6.1Tars-Java日志概述153
5.6.2Tars-Java日志配置与使用153
5.6.3Tars-Java日志管理机制154
第6章 Tars-Cpp源码解析160
6.1Tars-Cpp整体架构160
6.1.1连接管理160
6.1.2网络收发线程模型162
6.1.3业务处理线程模型164
6.1.4客户端代理165
6.2Tars-Cpp网络层实现分析166
6.2.1源码结构166
6.2.2网络相关初始化167
6.2.3连接建立流程172
6.2.4网络数据包接收与协议解析174
6.2.5业务线程处理与路由机制178
6.2.6业务层连接管理与应答发送183
6.3Tars协程实现分析185
6.3.1什么是协程185
6.3.2协程的作用185
6.3.3协程的分类186
6.3.4Tars协程实现188
6.3.5Tars协程调度器191
6.4tarsRegistry原理剖析195
6.4.1tarsRegistry功能分析196
6.4.2tarsRegistry路由加载196
6.4.3tarsRegistry线程模型198
6.5服务发现199
6.5.1为什么需要服务发现系统199
6.5.2服务发现机制需要哪些角色200
6.5.3服务发现的几种模式200
6.5.4Tars服务发现202
6.6tarsNode原理剖析203
6.6.1业务服务管理203
6.6.2服务保活206
| 基本信息 | |
|---|---|
| 出版社 | 人民邮电出版社 |
| ISBN | 9787115670403 |
| 条码 | 9787115670403 |
| 编者 | vivo互联网消息推送平台团队 著 著 |
| 译者 | |
| 出版年月 | 2026-01-01 00:00:00.0 |
| 开本 | 16开 |
| 装帧 | 平装 |
| 页数 | 210 |
| 字数 | 281000 |
| 版次 | 1 |
| 印次 | 1 |
| 纸张 | |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]