10-7|gRPC是什么

简介: 10-7|gRPC是什么

gRPC 是一个开源的远程过程调用 (RPC) 系统,由 Google 开发。它使用 Protocol Buffers (protobuf) 作为接口描述语言,这允许开发者定义服务和消息结构,然后自动为多种语言生成客户端和服务端代码。

以下是 gRPC 的主要特点:

1. **性能**:gRPC 使用 HTTP/2 作为其传输协议,这为它提供了优于传统 HTTP/1.1 的性能和效率。

 

2. **跨语言支持**:由于 gRPC 使用 Protocol Buffers,它可以为多种编程语言生成客户端和服务端代码,包括 C++, Java, Python, Go, Ruby, PHP 等。

 

3. **双向流**:使用 HTTP/2 支持,gRPC 可以进行双向流通信,这意味着客户端和服务端可以在一个连接中互相发送和接收消息。

4. **截止日期/超时**:gRPC 允许客户端为调用设置截止日期。

5. **取消**:客户端可以取消正在进行的请求。

6. **流控**:gRPC 支持内置的流控制。

7. **跟踪和监控**:内置支持与分布式跟踪系统(如 OpenTracing)集成。

8. **身份验证**:gRPC 支持多种身份验证方法,包括基于 Google 令牌的身份验证。

9. **负载均衡**:gRPC 支持客户端和服务端的负载均衡。

总的来说,gRPC 是一个高性能、开源和通用的 RPC 框架,设计初衷是使服务端和客户端之间的通信更加简单、高效和稳定。


相关文章
|
Java Go Apache
gRPC vs Thrift
远程过程调用(Remote Procedure Call,RPC)服务于分布式架构,本文从分布式构架面临的问题,期望的结果,引出两种比较受关注的RPC框架,并从框架的出身、实现原理、特性、性能等方面做了对比分析,从而给出两者之间的选择建议。
11368 0
|
5月前
|
存储 负载均衡 网络协议
gRPC 的原理 介绍带你从头了解gRPC
gRPC 的原理 介绍带你从头了解gRPC
255 2
|
6月前
|
Dubbo Java 应用服务中间件
grpc&rpc
grpc&rpc
|
6月前
|
负载均衡 监控 安全
介绍grpc
gRPC(gRPC Remote Procedure Call)是一种高性能、开源的远程过程调用(RPC)框架,最初由Google开发并开源。它基于HTTP/2协议传输,使用Protocol Buffers(ProtoBuf)作为默认的序列化机制,支持多种编程语言,并提供了强大的功能和特性。
|
6月前
|
JSON 网络协议 API
GRPC远程调用
GRPC远程调用
156 0
|
6月前
|
XML Go 开发工具
RPC简介和grpc的使用
RPC简介和grpc的使用
95 0
|
12月前
|
XML JSON 网络协议
gRPC介绍
gRPC介绍
|
JSON Go 网络架构
《gRPC vs REST:何时选择哪一个》
《gRPC vs REST:何时选择哪一个》
99 0
|
XML JSON 自然语言处理
gRPC系列 :RPC 框架原理是?gRPC 是什么?gRPC设计原则
gRPC系列 :RPC 框架原理是?gRPC 是什么?gRPC设计原则
1702 0
gRPC系列 :RPC 框架原理是?gRPC 是什么?gRPC设计原则
|
JSON 网络协议 Dubbo
gRPC(一)入门:什么是RPC?
RPC是一种方法,而HTTP是一种协议。两者都常用于实现服务,在这个层面最本质的区别是RPC服务主要工作在TCP协议之上(也可以在HTTP协议),而HTTP服务工作在HTTP协议之上。由于HTTP协议基于TCP协议,所以RPC服务天然比HTTP更轻量,效率更胜一筹。
419 0
gRPC(一)入门:什么是RPC?