当前位置:当前位置:主页 > 计算机电子书 > Java > gRPC pdf电子书
gRPC与云原生应用开发:以Go和Java为例

gRPC与云原生应用开发:以Go和Java为例 PDF 清晰完整版

  • 更新:2021-03-04
  • 大小:86 MB
  • 类别:gRPC
  • 作者:卡山·因德拉西里
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

gRPC与云原生应用开发:以Go和Java为例》是由人民邮电出版社出版的一本关于gRPC方面的书籍,作者是卡山·因德拉西里,主要介绍了关于gRPC、云原生应用开发方面的知识内容,目前在gRPC类书籍综合评分为:8.4分。

书籍介绍

1.本书全面介绍了gRPC,可作为终极指南,用于gRPC应用程序开发周期的各个阶段;

2.高效构建微服务和分布式系统;
3.GitHub项目总星数近5万;
4.谷歌加持,已被微软、思科、Netflix等公司采用;
5.书中所有示例都提供了Java语言和Go语言的两种实现;
6.提供随书代码和补充材料。

·gRPC是由谷歌公司开源的高性能远程过程调用框架,它能适应各种环境,尤其适合构建云原生应用程序和微服务。利用gRPC,可以高效地跨数据中心建立服务间通信,灵活地支持负载均衡、健康检查、服务发现、认证等,将移动设备、应用程序和浏览器连接到后端服务,打通分布式计算的“*后一公里”。

·随着gRPC的采用率呈指数级增长,开发人员需要一份介绍该技术的综合资源。本书作者分别用Go语言和Java语言介绍了gRPC的方方面面。无论是只想初探gRPC,还是想为自己的项目寻找新方案,你都能从本书中有所收获。

- 理解gRPC的底层原理和通信模式
- 对比gRPC和其他进程间通信技术
- 掌握如何创建服务定义
- 学会构建和运行gRPC应用程序
- 熟悉拦截器、多路复用、负载均衡等高级特性
- 理解gRPC如何与Docker和Kubernetes协作

本书全面介绍了gRPC,可作为终极指南,用于gRPC应用程序开发周期的各个阶段。本书的主要内容包括gRPC的基础知识;gRPC与常规进程间通信技术的区别;gRPC的通信模式、底层原理,以及一些非常重要的高级特性,如拦截器、截止时间、错误处理、元数据、多路复用、负载均衡等。此外,本书还介绍了如何使用Go语言和Java语言构建gRPC应用程序并使其在生产环境中运行,也讲解了gRPC如何与Docker和Kubernetes协作,以及其生态系统中的其他内容。本书广泛使用Go语言和Java语言编写代码示例,帮助读者掌握每个概念。

目录

  • 译者序 ix
  • 前言 xi
  • 第 1章 gRPC入门 1
  • 1.1 gRPC的定义 2
  • 1.1.1 服务定义 3
  • 1.1.2 gRPC服务器端 5
  • 1.1.3 gRPC客户端 6
  • 1.1.4 客户端?C服务器端的消息流 7
  • 1.2 进程间通信技术的演化 7
  • 1.2.1 传统的RPC 7
  • 1.2.2 SOAP 7
  • 1.2.3 REST 8
  • 1.2.4 gRPC的起源 9
  • 1.2.5 选择gRPC的原因 9
  • 1.2.6 gRPC与其他协议的对比:Thrift和GraphQL 11
  • 1.3 现实世界中的gRPC 13
  • 1.3.1 Netflix 13
  • 1.3.2 etcd 14
  • 1.3.3 Dropbox 14
  • 1.4 小结 14
  • 第 2章 开始使用gRPC 15
  • 2.1 创建服务定义 16
  • 2.1.1 定义消息类型 17
  • 2.1.2 定义服务类型 18
  • 2.2 实现 20
  • 2.2.1 开发服务 21
  • 2.2.2 开发gRPC客户端 29
  • 2.3 构建和运行 33
  • 2.3.1 构建Go服务器端应用程序 33
  • 2.3.2 构建Go客户端应用程序 33
  • 2.3.3 运行Go服务器端应用程序和客户端应用程序 34
  • 2.3.4 构建Java服务器端应用程序 34
  • 2.3.5 构建Java客户端应用程序 34
  • 2.3.6 运行Java服务器端应用程序和客户端应用程序 35
  • 2.4 小结 35
  • 第3章 gRPC的通信模式 37
  • 3.1 一元RPC模式 37
  • 3.2 服务器端流RPC模式 40
  • 3.3 客户端流RPC模式 42
  • 3.4 双向流RPC模式 45
  • 3.5 使用gRPC实现微服务通信 50
  • 3.6 小结 52
  • 第4章 gRPC的底层原理 53
  • 4.1 RPC流 53
  • 4.2 使用protocol buffers编码消息 55
  • 4.3 基于长度前缀的消息分帧 60
  • 4.4 基于HTTP 2的gRPC 61
  • 4.4.1 请求消息 62
  • 4.4.2 响应消息 64
  • 4.4.3 理解gRPC通信模式中的消息流 66
  • 4.5 gRPC实现架构 68
  • 4.6 小结 69
  • 第5章 gRPC:超越基础知识 71
  • 5.1 拦截器 71
  • 5.1.1 服务器端拦截器 72
  • 5.1.2 客户端拦截器 76
  • 5.2 截止时间 79
  • 5.3 取消 82
  • 5.4 错误处理 83
  • 5.5 多路复用 86
  • 5.6 元数据 89
  • 5.6.1 创建和检索元数据 89
  • 5.6.2 发送和接收元数据:客户端 90
  • 5.6.3 发送和接收元数据:服务器端 92
  • 5.6.4 命名解析器 93
  • 5.7 负载均衡 94
  • 5.7.1 负载均衡器代理 94
  • 5.7.2 客户端负载均衡 95
  • 5.7.3 压缩 97
  • 5.8 小结 98
  • 第6章 安全的gRPC 99
  • 6.1 使用TLS认证gRPC通道 99
  • 6.1.1 启用单向安全连接 100
  • 6.1.2 启用mTLS保护的连接 103
  • 6.2 对gRPC调用进行认证 107
  • 6.2.1 使用basic认证 107
  • 6.2.2 使用OAuth 2.0 112
  • 6.2.3 使用JWT 115
  • 6.2.4 使用基于令牌的谷歌认证 116
  • 6.3 小结 117
  • 第7章 在生产环境中运行gRPC 119
  • 7.1 测试gRPC应用程序 119
  • 7.1.1 测试gRPC服务器端 119
  • 7.1.2 测试gRPC客户端 121
  • 7.1.3 负载测试 122
  • 7.1.4 持续集成 123
  • 7.2 部署 123
  • 7.2.1 部署到Docker上 123
  • 7.2.2 部署到Kubernetes上 125
  • 7.3 可观察性 130
  • 7.3.1 度量指标 131
  • 7.3.2 日志 138
  • 7.3.3 跟踪 138
  • 7.4 调试和问题排查 142
  • 7.5 小结 143
  • 第8章 gRPC的生态系统 145
  • 8.1 gRPC网关 145
  • 8.2 gRPC的HTTP JSON转码 152
  • 8.3 gRPC服务器端反射协议 152
  • 8.4 gRPC中间件 155
  • 8.5 健康检查协议 157
  • 8.6 gRPC健康探针 159
  • 8.7 其他生态系统项目 160
  • 8.8 小结 161
  • 关于作者 162
  • 关于封面 162

资源获取

相关资源

网友留言