分类
善良比聪明更重要
RPC 系列(十二):gRPC 客户端负载均衡 RPC 系列(十二):gRPC 客户端负载均衡
本篇将基于 etcd 服务发现,介绍如何实现 gRPC 客户端负载均衡。 gRPC 负载均衡的三种方案gRPC 官方文档提供了关于 gRPC 负载均衡的方案(Load Balancing in gRPC),此方案是为 gRPC 设计的,下面
2023-11-21
RPC 系列(十一):gRPC 大数据量消息传递 RPC 系列(十一):gRPC 大数据量消息传递
本文探讨 gRPC 中大数据量消息的传输限制及相应的两种解决方法:修改限制值大小和流式数据传输,并给出 gRPC C++ 版本下采用流式数据传输的示例,同时说明如何在 Visual Studio 下进行 proto 文件编写、编译以及 gR
2023-11-14
RPC 系列(十):gRPC 流式消息的大小限制 RPC 系列(十):gRPC 流式消息的大小限制
在工作中遇到了 gRPC 的 stream 通信(server 通过 stream 向 client 返回一个消息的 stream)中 client 收不到消息的情况。排查发现,收不到的这条消息比较大,跟同事讨论后认为,可能是 gRPC 限
2023-11-07
RPC 系列(九):gRPC 的 deadline 语义 RPC 系列(九):gRPC 的 deadline 语义
最近在将应用的 RPC 更换为 gRPC,使用过程中发现报错 rpc error: code = DeadlineExceeded desc = context deadline exceeded。这是啥?原来是某位仁兄设置了环境的超时时间
2023-10-31
RPC 系列(八):Go gRPC 的 TLS 认证 RPC 系列(八):Go gRPC 的 TLS 认证
前面篇章的 gRPC 都是明文传输的,容易被篡改数据。本篇将介绍如何为 gRPC 添加安全机制,包括 TLS 证书认证和 Token 认证。 TLS 证书认证什么是 TLSTLS(Transport Layer Security,安全传输层
2023-10-24
RPC 系列(七):Go gRPC 超时设置 RPC 系列(七):Go gRPC 超时设置
gRPC 默认的请求超时时间是很长的。当你没有设置请求超时时间时,所有在运行的请求都占用大量资源且可能运行很长的时间,导致服务资源损耗过高,使得后来的请求响应过慢,甚至会引起整个进程崩溃。 为了避免这种情况,我们的服务应该设置超时时间。当客
2023-10-17
RPC 系列(六):Go gRPC 双向流式 RPC RPC 系列(六):Go gRPC 双向流式 RPC
上一篇介绍了客户端流式 RPC,客户端不断地向服务端发送数据流,在发送结束或流关闭后,由服务端返回一个响应。本篇将介绍双向流式 RPC。 双向流式 RPC:客户端和服务端双方使用读写流去发送一个消息序列,两个流独立操作,双方可以同时发送和同
2023-10-10
RPC 系列(五):Go gRPC 客户端流式 RPC RPC 系列(五):Go gRPC 客户端流式 RPC
上一篇介绍了服务端流式 RPC:客户端发送请求到服务器,拿到一个流去读取返回的消息序列,客户端读取返回的流的数据。本篇将介绍客户端流式 RPC。 客户端流式 RPC 与服务端流式 RPC 相反:客户端不断地向服务端发送数据流,而在发送结束后
2023-10-03
RPC 系列(四):Go gRPC 服务端流式 RPC RPC 系列(四):Go gRPC 服务端流式 RPC
上一篇介绍了简单模式 RPC,当数据量大或者需要不断传输数据的时候,我们应该使用流式 RPC,它允许我们边处理边传输数据。本篇先介绍服务端流式 RPC。 服务端流式 RPC:客户端发送请求到服务器,拿到一个流去读取返回的消息序列,客户端读取
2023-09-26
RPC 系列(三):Go gRPC 简单 RPC RPC 系列(三):Go gRPC 简单 RPC
gRPC 主要有 4 种请求/响应模式,分别是简单模式(Simple RPC)、服务端流式(Server-side streaming RPC)、客户端流式(Client-side streaming RPC)和双向流式(Bidirecti
2023-09-19
RPC 系列(二):Go gRPC 环境安装 RPC 系列(二):Go gRPC 环境安装
在开始编写 gRPC 应用之前,需要先安装 protoc 编译器以及 Go 语言相关的依赖包。本篇介绍环境搭建的完整过程。 安装 protoc根据自身电脑的操作系统,选择 protoc 最新的 releases 版本下载。 解压后在 bi
2023-09-12
RPC 系列(一):RPC 与 gRPC 全景 RPC 系列(一):RPC 与 gRPC 全景
在分布式系统开发中,进程之间经常需要通过网络进行远程通信,RPC 就是让这一过程像调用本地函数一样简单的技术。本文先梳理 RPC 的基本原理,再对 gRPC 框架做整体介绍,最后演示如何编译 gRPC 源码,并用 C++ 跑通一个简单的登录
2023-09-05
1 / 2