初始gRPC

gRPC由google开发,是一款语言中立、平台中立、开源的远程过程调用系统

gRPC客户端和服务端可以在多种环境中运行和交互。

gRPC与Protobuf介绍
  • 微服务架构中,由于每个服务对应的代码库是独立运行的,无法直接调用,彼此间的通信就是个大问题
  • gRPC可以实现微服务,将大的项目拆分为多个小且独立的业务模块,也就是服务,各服务间使用搞笑的protobuf协议进行RPC调用。gRPC默认使用protocol buffers 。
  • 可以用proto files创建gRPC服务,用message类型来定义方法参数和返回类型

gRPC和Protobuf安装

go get github.com/golang/protobuf/proto
go get google.golang.org/grpc
go get github.com/golang/protobuf/protoc-gen-go
gRPC简介

gRPC是一个高性能、开源、通用的RPC框架,基于HTTP2协议标准设计开发,默认采用Protocol Bufferes数据序列化协议,支持多种开发语言。gRPC提供了一种简单的方法来精确的定义服务,并且为客户端和服务端自动生成可靠的功能库。

在gRPC客户端可以直接调用不同服务器上的远程程序,使用姿势看起来就像调用本地程序一样,很容易去构建分布式应用和服务

主要特性
  • 强大的IDL
    • gRPC使用ProtoBuf来定义服务,ProtoBuf是由Google开发的一种数据序列化协议。ProtoBuf能够将数据进行序列化,并广泛应用在数据存储、通信协议等方面
  • 多语言支持
    • gRPC支持多种语言,并能够基于语言自动生成客户端和服务端功能库
  • HTTP2
    • gRPC基于HTTP2标准设计,所以想对于其他RPC框架,gRPC带来了更多强大功能,如双向流,头部压缩,多服用请求等。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文出处:gRPC gRPC分享 概述 gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远...
    小波同学阅读 7,589评论 0 18
  • gRPC 是一个高性能、通用的开源RPC框架,基于HTTP/2协议标准和Protobuf序列化协议开发,支持众多的...
    小波同学阅读 19,783评论 6 19
  • RPC(Remote Procedure Call) RPC(Remote Procedure Call)— 远程...
    wavesnow阅读 35,538评论 0 4
  • 1.简介 在gRPC中,客户端应用程序可以直接调用不同计算机上的服务器应用程序上的方法,就像它是本地对象一样,使您...
    第八共同体阅读 2,056评论 0 6
  • 1、RPC 1.1 什么是RPC RPC(Remote Procedure Call),即远程过程调用,过程就是方...
    Assassin007阅读 440评论 0 0

友情链接更多精彩内容