当前位置:网站首页>图书 > 正文 >>

Tars高性能服务开发

图书信息

作者vivo互联网消息推送平台团队 著
出版社人民邮电出版社有限公司
ISBN9787115670403
出版时间2026-01-01
字数21.2万
分类科技,计算机,网络,计算机教材

读书简介

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网络分析等。

目录

版 权

内 容 提 要

作 者 简 介

序 一

序 二

前 言

资源与支持

第1章 Tars——多语言高性能RPC框架

1.1 Tars框架简介

1.1.1 设计思想

1.1.2 架构拓扑

1.1.3 服务交互流程

1.1.4 Tars服务的基础概念

1.2 实战项目介绍

第2章 Tars框架的使用

2.1 使用docker-compose部署Tars服务框架

2.1.1 部署脚本

2.1.2 平台使用简介

2.2 Tars-Java服务构建及调用

2.2.1 服务端开发

2.2.2 客户端开发

2.3 Tars-Go服务构建及调用

2.3.1 服务端开发

2.3.2 客户端开发

第3章 Tars框架的高级特性

3.1 按set调用

3.1.1 配置set

3.1.2 使用set

3.2 无损发布

3.2.1 需求背景

3.2.2 节点的静态权重

3.2.3 流量控制

3.3 自定义Filter

3.3.1 自定义日志拦截器

3.3.2 MDC与异步线程

3.3.3 基于Spring AOP实现MDC链路追踪切面

3.4 使用Tars管理命令

3.4.1 停止Tars服务

3.4.2 Tars内置的管理命令

3.4.3 Tars自定义命令

3.5 使用Protocol Buffers协议

Tars-Protobuf插件的使用

3.6 调用链追踪的原理

3.6.1 分布式系统的远程调用过程

3.6.2 调用链追踪系统的设计与实现

3.6.3 开源调用链

3.7 Tars-Java调用链实践及源码分析

3.7.1 部署Zipkin服务

3.7.2 服务端代码埋点

3.7.3 通过私有模板配置调用链地址

3.7.4 动手实践

3.7.5 源码分析

3.8 Tars分布式缓存DCache

3.8.1 DCache简介

3.8.2 安装DCache

3.8.3 使用DCache

3.8.4 原理

第4章 Tars框架核心原理

4.1 Tars RPC原理剖析

4.1.1 什么是RPC

4.1.2 如何实现一个RPC

4.1.3 Tars如何实现RPC

4.2 Tars NIO网络编程

4.2.1 Java NIO原理概述

4.2.2 Tars NIO网络编程

4.3 Tars Netty网络编程

4.3.1 使用方法和实现细节

4.3.2 源码解析

第5章 Tars-Java源码解析

5.1 Tars客户端源码分析

5.1.1 远程调用的一般流程

5.1.2 Tars-Java客户端设计介绍

5.2 Tars服务端源码分析

5.2.1 服务端启动流程

5.2.2 Tars监控

5.2.3 自定义命令

5.3 RPC请求异步转同步

5.3.1 传统的TCP通信

5.3.2 Tars-Java 1.7.x之前版本

5.3.3 Tars-Java 1.7.x及之后版本

5.3.4 Tars-Java 2.x及之后版本

5.4 Tars-Java 染色机制

5.4.1 Tars-Java染色功能概述

5.4.2 Tars-Java染色源码分析

5.4.3 小结

5.5 Tars文件如何生成Java代码

5.5.1 Tars-Java代码生成示例

5.5.2 Maven插件编写之Mojo

5.5.3 Tars文件解析

5.6 Tars-Java日志介绍

5.6.1 Tars-Java日志概述

5.6.2 Tars-Java日志配置与使用

5.6.3 Tars-Java日志管理机制

第6章 Tars-Cpp源码解析

6.1 Tars-Cpp整体架构

6.1.1 连接管理

6.1.2 网络收发线程模型

6.1.3 业务处理线程模型

6.1.4 客户端代理

6.2 Tars-Cpp网络层实现分析

6.2.1 源码结构

6.2.2 网络相关初始化

6.2.3 连接建立流程

6.2.4 网络数据包接收与协议解析

6.2.5 业务线程处理与路由机制

6.2.6 业务层连接管理与应答发送

6.3 Tars协程实现分析

6.3.1 什么是协程

6.3.2 协程的作用

6.3.3 协程的分类

6.3.4 Tars协程实现

6.3.5 Tars协程调度器

6.4 tarsRegistry原理剖析

6.4.1 tarsRegistry功能分析

6.4.2 tarsRegistry路由加载

6.4.3 tarsRegistry线程模型

6.5 服务发现

6.5.1 为什么需要服务发现系统

6.5.2 服务发现机制需要哪些角色

6.5.3 服务发现的几种模式

6.5.4 Tars服务发现

6.6 tarsNode原理剖析

6.6.1 业务服务管理

6.6.2 服务保活

推荐图书