grpc简介

举报
Amrf 发表于 2019/11/25 16:43:48 2019/11/25
【摘要】 gRPC是一个现代的,开源的,高性能的远程过程调用(RPC)框架,可以在任何地方运行。gRPC使客户端和服务器应用程序可以透明地进行通信,并简化了连接系统的构建。gRPC默认的序列反序列协议是proto3;gRPC是一个RPC框架;gRPC基于HTTP/2传输;gRPC可以设置为同步或者异步通讯;备注:/*---HTTP - 一个Web客户端协议(例如浏览器)以便从服务器请求资源(例如Web...

gRPC是一个现代的,开源的,高性能的远程过程调用(RPC)框架,可以在任何地方运行。gRPC使客户端和服务器应用程序可以透明地进行通信,并简化了连接系统的构建。

  • gRPC默认的序列反序列协议是proto3;

  • gRPC是一个RPC框架;

  • gRPC基于HTTP/2传输;

  • gRPC可以设置为同步或者异步通讯;

备注:

/*---
HTTP - 一个Web客户端协议(例如浏览器)以便从服务器请求资源(例如Web服务器).
HTTPS - 一种HTTP加密方式. 一种加密HTTP的方式.它基本上使用SSL / TLS将HTTP消息包装为加密格式.当通过未加密的HTTP为网站提供服务时,Web越来越趋向于HTTPS,并且Web浏览器开始发出越来越多的警告.除非您有很好的理由不这样做,否则请在您现在创建的任何网站上使用HTTPS.
进一步研究HTTP,我们可以看到:
HTTP/1.1 - 这是HTTP的流行格式,直到最近.这是一个基于文本的协议,并且效率低下-尤其是在请求大量资源(例如典型的网页)时.HTTP/1.1消息可以不加密(网站地址以http://开头),也可以使用HTTPS加密(网站地址以https://开头).客户端使用URL的开头来确定要使用的协议,如果未提供,通常默认为http://.
HTTP/2 - 2015年发布的HTTP的新版本,通过从基于文本的协议转移到明确定义每个字节的二进制协议,解决了一些性能问题.对于客户端和服务器而言,这更容易解析,为错误留出了更少的空间,还允许多路复用.HTTP/2与HTTP/1.1一样,可通过未加密(http://)和加密(https://)通道使用,但是Web浏览器仅通过HTTPS支持它,在此情况下,是决定使用HTTP/1.1还是HTTP/2在连接开始时作为HTTPS协商的一部分.
在撰写本文时,约有三分之一的网站使用HTTP/2.但是,并非所有客户端都支持HTTP/2,因此您应尽可能支持HTTPS上的HTTP/1.1和HTTPS上的HTTP/2(我相信节点在使用http模块时会自动为您执行此操作).我认为HTTP/1.1不会在不久的将来淘汰.您还应该考虑通过未加密的HTTP支持HTTP/1.1,然后重定向到HTTPS版本(然后将视情况使用HTTP/1.1或HTTP/2).像Apache或Nginx这样前置Web服务器很容易做到这一点.
HTTP/3 - HTTP的下一版本,目前正在开发中.预计将在2019年完成,但可能要到2020年才能在Web服务器和节点等语言中看到.它将建立在称为QUIC的基于UDP的传输之上(而不是HTTP / 1.1和HTTP / 2所基于的基于TCP的协议).它将在协议中包括HTTPS的一部分,因此HTTP / 3仅可通过HTTPS使用.
简而言之,您应该在HTTPS上使用HTTP/1.1,并且如果易于实现的话,也应该考虑HTTP/2(并非总是可能,因为它尚不普遍,但是到那里为止),将来您可能会使用HTTP/3。
如果您要进行Web开发,我建议您对所有这些技术有一个深刻的了解(也许还没有HTTP/3)。它会很好地支持您。
---*/

参考:

What is difference between httpS and http/2?

GRPC Server Side Implementation in Java

使用Grpc+maven定义接口、发布服务、调用服务

protobuf vs gRPC

思考gRPC :为什么是protobuf

Using grpc in maven

grpc-java

grpc-by-example-java

grpc

protobuf-ultimate-tutorial-in-go

protostuff

简单的使用protobuf和protostuff

/*----------------------------分割线--------------------------------*/

xmlrpc-howto-java

java-xml-rpc-client-and-server

XmlRpcMoodleClient

xml_rpc_examples

xmlrpc.client.XmlRpcClient

differences-between-hashmap-and-hashtable

/*----------------------------分割线--------------------------------*/

很多人吐槽grpc的性能

https://zeroc.com/products/ice


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。