gRPC 对冲请求取消流程

February 20, 2021 · 730 words · 4 min

gRPC 对冲请求取消流程 当客户端接收到对冲请求集合中的一个完成时,会取消其他的请求,被取消的请求最终会提交一个 CancelClientStreamCommand,发送一个 RST_STEAM 请 …

gRPC 服务间调用事件流程

February 20, 2021 · 107 words · One minute

gRPC 服务间调用事件流程 调用流程图 可监听的事件 客户端 ClientCall 客户端调用,用于执行客户端的调用行为 checkStart:开始调用 request: …

gRPC 中泛化调用服务接口

January 29, 2021 · 454 words · 3 min

gRPC 中泛化调用服务接口 gRPC 没有直接支持泛化调用,protobuf 可以不依赖于生成的代码实现调用,所以可以通过反射接口间接实现泛化调用 要求 Server …

gRPC 反射服务

January 17, 2021 · 344 words · 2 min

gRPC 反射服务 gRPC 提供了 grpc.reflection.v1alpha.ServerReflection 服务,在 Server 端添加后可以通过该服务获取所有服务的信息,包括服务定义, …

gRPC Gateway 使用

January 6, 2021 · 374 words · 2 min

gRPC Gateway 使用 gRPC Gateway 可以代理 gRPC 服务,接收 HTTP 请求,并转为 gRPC 请求由服务进行处理,并将返回结果转换为 HTTP 响应发送给调用者 gRPC …

gRPC 服务使用 TLS 加密

January 6, 2021 · 467 words · 3 min

gRPC 服务使用 TLS 加密 gRPC 支持使用 TLS 对请求进行加密 SSL(Secure Socket Layer,安全套接字),是面向连接的网络层和应用层协议之间的一种协议层;SSL 通过 …

gRPC 中使用 Channelz

January 4, 2021 · 544 words · 3 min

gRPC 中使用 Channelz gRPC 提供了 Channelz 用于对外提供服务的数据,用于调试、监控等;根据服务的角色不同,可以提供的数据有: 服务端: Servers, Server, …

gRPC 中打印请求二进制日志

January 4, 2021 · 568 words · 3 min

gRPC 中打印请求二进制日志 gRPC 支持将请求调用的参数、Header 等信息以二进制的方式输出到文件中,方便在必要时排查问题 使用 1. 添加依赖 binlog …

gRPC 拦截器和监听器

January 3, 2021 · 403 words · 2 min

gRPC 拦截器和监听器 gRPC 拦截器用于在请求执行之前执行,以实现校验授权,记录调用行为,插入其他逻辑等;拦截器有 ClientInterceptor 和 ServerInterceptor,分 …

gRPC 中监听 Sream 和 Transport 的事件

December 23, 2020 · 270 words · 2 min

gRPC 中监听 Sream 和 Transport 的事件 gRPC 提供了拦截器可以监听请求的事件,但是对于 Stream 或者 Transport 的具体事件,无法通过拦截器实现;gRPC 提供 …

gRPC Server 端请求处理流程

December 15, 2020 · 2489 words · 12 min

gRPC Server 端请求处理流程 [TOC] 初始化 创建并启动 ServerTransport 在 Server 启动的时候,最终调用 NettyServer 的 start() 方法, …

gRPC Server 端关闭流程

December 5, 2020 · 382 words · 2 min

gRPC Server 端关闭流程 关闭 Server 关闭 Server 可以使用 shutdown 或者 shutdownNow 方法 shutdown …

gRPC Server 端启动流程

December 5, 2020 · 862 words · 5 min

gRPC Server 端启动流程 gRPC Server 启动流程,底层实现以 Netty 为例; 核心类 io.grpc.Server Server 的定义接口, …

gRPC Channel

November 18, 2020 · 285 words · 2 min

gRPC Channel Channel 是用于执行 RPC 请求的概念上的端点连接,基于负载和配置,一个 Channel 可以有 0 或多个真实连接 Subchannel 代表逻辑连接,最多维护一个 …

gRPC Client 启动流程

November 17, 2020 · 391 words · 2 min

gRPC Client 启动流程 gRPC 启动初始化的流程,使用 Netty 作为底层的实现 初始化 Channel Channel 的初始化通过 ChannelBuilder …

gRPC Stream

November 8, 2020 · 1183 words · 6 min

gRPC Stream Stream 在 gRPC 中代表一个真正的请求,包含要发送的 消息;Stream 分为 ClientStream 和 ServerStream ClientStream …

gRPC Transport

October 22, 2020 · 366 words · 2 min

gRPC Transport Transport 分为 ClientTransport 和 ServerTransport,分别用于客户端和服务端 ClientTransport …

gRPC 使用自定义的 LoadBalancer

September 29, 2020 · 541 words · 3 min

gRPC 使用自定义的 LoadBalancer gRPC 中提供了 round_robin, pick_first, grpclb, HealthCheckingRoundRobin 等负载均衡的实 …

gRPC 超时时间与重试时间间隔

September 20, 2020 · 178 words · One minute

gRPC 超时时间与重试时间间隔 gRPC 的超时时间生效机制以及重试超时时间间隔 超时时间配置 对指定的服务和方法单独设置超时时间,timeout 作用于所有的 RPC 请求(无论是否重试, …

gRPC 中的核心概念

September 20, 2020 · 79 words · One minute

gRPC 中的核心概念 Stub Stub 层暴露给开发者,提供类型安全的绑定到正在适应的数据模型/IDL/接口 Channel Channel 层是传输处理之上的抽象,适合拦截器、装饰器, …