第 1 章 网络基础入门

网络通信是我们现代技术的核心,而 gRPC 是我们可以用来实现高效数据接收和传输的高级框架。由于它是高级的,它为发送和接收数据提供了抽象,使我们在进行网络通信时无需过多关注可能出错的细节。本章的目标是让您在较低层次(但不是最低层次)理解,当我们在 gRPC Go 中发送/接收消息时发生了什么。这将帮助您更好地理解正在发生的事情,并且在我们稍后讨论调试和可观察性时,您将能更容易地掌握相关概念。

本章将涵盖以下主要内容:

  • HTTP/2

  • RPC 操作

  • RPC 类型

  • RPC 的生命周期

先决条件

在本章中,我将使用 Wireshark(https://www.wireshark.org/)来分析一个 gRPC 调用,并获取必要的抓包文件,以说明不同的概念。由于本书还处于早期阶段,我并不要求您重现所有内容。不过,如果您计划深入探索,可以安装 Wireshark,并打开 Git 仓库chapter1 目录下提供的捕获文件。

要查看这些捕获文件,您可以将它们导入 Wireshark 并应用显示过滤器。由于我们特别关注 HTTP/2 和 gRPC 的有效负载,且我使用的是 50051 端口进行通信,您可以使用以下过滤器:tcp.port == 50051 and (grpc or http2)