gRPC
文章平均质量分 88
gRPC-go 入门教程
探索云原生
一个云原生打工人的探索之路,专注云原生,Go,坚持分享最佳实践、经验干货。
同名 GZH 【探索云原生】欢迎关注~
展开
-
史上最细gRPC(Go)入门教程(十三)---Kubernetes 环境下的 gRPC 负载均衡
本文主要介绍了 Kubernetes 环境中的 gRPC 负载均衡具体实现。gRPC 系列相关代码见 Github1. 概述系统中多个服务间的调用用的是 gRPC 进行通信,最初没考虑到负载均衡的问题,因为用的是 Kubernetes,想的是直接用 K8s 的 Service 不就可以实现负载均衡吗。但是真正测试的时原创 2021-06-06 19:33:11 · 1141 阅读 · 0 评论 -
史上最细gRPC(Go)入门教程(十二)---客户端负载均衡
本文主要介绍了 gRPC 内置的负载均衡策略及其配置与使用,包括 Name Resolver、ServiceConfig 等。gRPC 系列相关代码见 Github1. 概述gRPC 负载均衡包括客户端负载均衡和服务端负载均衡两种方向。本文主要介绍的是客户端负载均衡。gRPC 的客户端负载均衡主要分为两个部...原创 2021-05-29 17:31:24 · 2585 阅读 · 2 评论 -
史上最细gRPC(Go)入门教程(十一)---NameResolver 实战及原理分析
本文主要介绍了 gRPC 的 NameResolver 及其简单使用,同时从源码层面对其核心原理进行了分析。gRPC 系列相关代码见 Github1. 概述具体可以参考官方文档-Name ResolvergRPC 中的默认 name-system 是 DNS,同时在客户端以插件形式提供了自定义 name-system 的机制。gRP原创 2021-05-23 11:16:38 · 1367 阅读 · 0 评论 -
史上最细gRPC(Go)入门教程(十)------gRPC压测工具ghz
本文主要介绍了 gRPC 压测工具 ghz ,包括 ghz 的安装、使用及压测计划制定等。gRPC 系列相关代码见 Github1. 安装可以直接在Release页面下载二进制文件,也可以 clone 仓库手动编译。下载解压后即可使用# 下载$ wget https://github.91chifun.workers.dev/https:原创 2021-05-15 12:33:47 · 2614 阅读 · 0 评论 -
史上最细gRPC(Go)入门教程(九)---配置retry自动重试
本文主要记录了如何使用 gRPC 中的 自动重试功能。1. 概述gRPC 系列相关代码见 GithubgRPC 中已经内置了 retry 功能,可以直接使用,不需要我们手动来实现,非常方便。2. DemoServer为了测试 retry 功能,服务端做了一点调整。记录客户端的请求次数,只有满足条件的那一次(这里就是请求次数模4等于0的那一次)才原创 2021-05-05 12:00:18 · 2628 阅读 · 0 评论 -
史上最细gRPC(Go)入门教程(八)---使用context进行超时控制
本文主要记录了如何使用 context 为 RPC 请求设置超时时间,或者通过 cancel 手动取消本次请求。1. 概述gRPC 系列相关代码见 Github通过 ctx 完成 cancel 和 deadline 功能。Go 语言中可以通过 ctx 来控制各个 Goroutine,调用 cancel 函数,则该 ctx原创 2021-04-24 11:21:24 · 2475 阅读 · 0 评论 -
史上最细gRPC(Go)入门教程(七)---利用Gateway同时提供HTTP和RPC服务
本文主要记录了如何使用 gRPC-Gateway 同时对外提供 RESTful API 和 gRPC 接口。1. 概述gRPC 系列相关代码见 GithubgRPC-Gateway 是Google protocol buffers compiler(protoc)的一个插件。读取 protobuf 定义然后生成反向代理服务器,将 RE原创 2021-04-10 10:58:44 · 3619 阅读 · 6 评论 -
史上最细gRPC(Go)入门教程(二)---gRPC初体验--hello world
本文主要对 gRPC 框架做了简单的介绍,同时记录了一个简单的 hello wolrd 教程。1. 概述gRPC 系列相关代码见 GithubgRPC 是一个高性能、通用的开源 RPC 框架,其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计,基于 ProtoBuf(Protocol Buffers) 序列化协原创 2021-04-04 10:39:31 · 1285 阅读 · 3 评论 -
史上最细gRPC(Go)入门教程(六)---提升服务安全性之自定义身份校验
本文主要记录了如何在 gRPC 中使用自定义身份校验以提升服务安全性。1. 概述gRPC 系列相关代码见 Github在 gRPC 中,身份验证被抽象为了credentials.PerRPCCredentials接口:type PerRPCCredentials interface { GetRequestMetadata(ctx context.C原创 2021-04-04 10:01:59 · 701 阅读 · 0 评论 -
史上最细gRPC(Go)入门教程(五)---gPRC拦截器Interceptor
本文主要介绍了 gPRC中 的拦截器(Interceptor)和具体使用实例。1. 概述gRPC 系列相关代码见 GithubgRPC 提供了 Interceptor 功能,包括客户端拦截器和服务端拦截器。可以在接收到请求或者发起请求之前优先对请求中的数据做一些处理后再转交给指定的服务处理并响应,很适合在这里处理验证、日志等流程。gRPC原创 2021-03-21 12:29:26 · 2418 阅读 · 0 评论 -
史上最细gRPC(Go)入门教程(四)---数据安全之--通过SSL/TLS建立安全连接
本文记录了gRPC 中如何通过 TLS 证书建立安全连接,让数据能够加密处理,包括证书制作和CA签名校验等。1. 概述gRPC 系列相关代码见 GithubgRPC 内置了以下 encryption 机制:1)SSL / TLS:通过证书进行数据加密;2)ALTS:Google开发的一种双向身份验证和传输加密系统。只原创 2021-02-21 11:18:28 · 2629 阅读 · 0 评论 -
史上最细gRPC(Go)入门教程(三)---gRPC流式传输--Streaming
本文主要讲述了 gRPC 中的四种类型的方法使用,包括普通的 Unary API 和三种 Stream API:ServerStreaming、ClientStreaming、BidirectionalStreaming。gRPC 系列文章欢迎访问我的个人博客 指月1. 概述gRPC 系列相关代码见 GithubgRPC 中的 Service API 有如下4种类型:1)UnaryAPI:普通一元方法2)ServerStreaming:服务端推送流3)ClientStreaming原创 2021-01-30 13:55:47 · 8015 阅读 · 5 评论 -
史上最细gRPC(Go)入门教程(一)---Protobuf介绍及其编译原理
本文主要记录了 Protobuf 的基本使用。包括 编译器 protoc 、Go Plugins 安装及 .proto文件定义、编译等。gRPC 系列文章欢迎访问我的个人博客 指月山瀑1. 概述Protocol buffers 是一种语言无关、平台无关的可扩展机制或者说是数据交换格式,用于序列化结构化数据。与 XML、JSON 相比,Protocol buffers 序列化后的码流更小、速度更快、操作更简单。Protocol buffers are a language-neutral, p原创 2021-01-04 20:33:33 · 2119 阅读 · 1 评论 -
gRPC入门教程(二)---gRPC简单使用
本文主要对 gRPC 框架做了简单的介绍,同时记录了具体安装方法与基本使用教程。更多文章欢迎访问我的个人博客–>幻境云图1. 概述gRPC 是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。 gRPC基于HTTP/2标准设计,带来诸如...原创 2019-07-22 22:44:57 · 3259 阅读 · 0 评论 -
gRPC入门教程(一)---Protobuf安装与基本使用
本文主要记录了 Windows 环境下 Protobuf 的安装与基本使用教程。更多文章欢迎访问我的个人博客–>幻境云图1. 概述Protocol buffers是一个灵活的、高效的、自动化的用于对结构化数据进行序列化的协议,与XML、json相比,Protocol buffers序列化后的码流更小、速度更快、操作更简单。2. 安装2.1 安装protocprotoc 用来...原创 2019-07-03 20:34:26 · 1531 阅读 · 0 评论