0%

update-alternatives 用于管理多个同功能的软件,或同一软件的不同版本间进行切换的工具,在不同的发行版中,命令参数略有差别,但使用方法大致相同。

ssh-agent 是一个运行在后台的程序,用于管理本地的密钥。SSH agent forwarding 是一项非常有用的功能,它允许用户在远端服务器进行 SSH 密钥验证时使用本地密钥进行验证,而不是将密钥保存在远端服务器。

gRPC 中已经内置了 retry 功能,可以直接使用,不需要手动来实现,本文主要记录使用 gRPC 实现自动重试功能。

gRPC NameResolver 根据 name-system 选择对应的解析器,用以解析调用时提供的服务器名,最后返回具体地址列表(IP+端口号)。

前面的章节实现的 gRPC 示例 Client/Server 之间的通信都是明文传输的,数据很容易被监听,甚至篡改。其实 gRPC 是鼓励开发者使用安全的通信的,只是在开始的章节中,客户端在创建连接时,使用 grpc.WithInsecure() 这个 Option 使 gRPC 以 Insecure 的方式连接。

本节主要介绍为 gRPC 添加 TLS 支持的过程,关于 TLS 的内容,请自行搜索相关资料。

gRPC 提供了 interceptor (拦截器) 功能,功能类似 middleware 。 拦截器可以用于处理一些公共的或者需要在业务开始前处理的工作。

gRPC 的 metadata (元信息) 类似于 HTTP 的 Header ,只是 gRPC 的 metadat 的 value 是一个数组。 HTTP 的 Header 生命周周期是一次 HTTP 请求;gRPC 的 metadata 的生命周期是一次 RPC 调用。