gRPC学习记录(一)--概念性知识

gRPC学习记录(一)--概念性知识

标签(空格分隔): javaWEB


前几天刚发了一个如何学习一门新技术,现在正好遇到了要学习的东西,因为重新找了工作,所以新公司使用的技术需要自己快速上手,那么快速学习就是必须掌握的一门技能了.下面根据之前的博文展示如何快速入门一门新技术.(本篇很多内容都摘抄自网络)

1.gRPC是什么?

搜寻百科博客之类的可以查看到很多资料.


Paste_Image.png

gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计,基于protobuf 3.x,基于Netty 4.x +。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js,Python, Ruby, Objective-C,PHP和C#支持.gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。

gRPC基于定义服务的思想,定义可以远程调用的方法,包括方法的参数和返回类型。在服务器端,服务器实现此接口并运行一个gRPC服务器来处理客户端调用。在客户端,客户端有一个“存根stub”(简称为某些语言的客户端),提供与服务器相同的方法。所有的数据传输都使用protobuf。

关键词: RPC HTTP/2 protobuf 3.x Netty 4.x (记录关键词,这些可能是需要你自己额外补充的知识)

gRPC有几个优点:

  • 在服务定义方面很简单,可以很轻松地搭建出一个RPC的调度或者是P2P相互之间调度的框架。
  • gRPC是语言无关、平台无关的,它有很多种不同的实现。如果写好一个Protobuf协议定义,可以轻松地去生成不同语言的协议框架。
  • 它支持双向的流的调用,在做一个分布式系统或者是相互调用的系统时.

2.同类技术有哪些?

这些搜一下作为了解知识.
http://colobu.com/2016/09/05/benchmarks-of-popular-rpc-frameworks/

3.gRPC解决的是什么问题?

这个问题可以理解为RPC解决了什么问题,gRPC在此基础上做了哪些便捷优化?
RPC 的主要目的是为组件提供一种相互通信的 方式,使这些组件之间能够相互发出请求并传递这些请求的结果。
gRPC客户端应用程序可以就像调用本地对象方法一样直接调用不同服务器上的应用程序方法,使您更容易创建分布式应用程序和服务。

参考: http://www.tuicool.com/articles/VNnae2

4.在这之前都是怎么解决这些问题的?

这个还真不清楚,可能是http接口吧

5.gRPC的组成部分

<dependency>
  <groupId>io.grpc</groupId>
  <artifactId>grpc-netty</artifactId>
  <version>1.0.3</version>
</dependency>
<dependency>
  <groupId>io.grpc</groupId>
  <artifactId>grpc-protobuf</artifactId>
  <version>1.0.3</version>
</dependency>
<dependency>
  <groupId>io.grpc</groupId>
  <artifactId>grpc-stub</artifactId>
  <version>1.0.3</version>
</dependency>

这一步主要是对整个技术的了解,不需要很深入,我现在对这个东西还是不懂,只知道他能帮我的A项目调用B服务的接口.下一步就是入门的Hello world了.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • 转自:http://blog.csdn.net/kesonyk/article/details/50924489 ...
    晴天哥_王志阅读 24,929评论 2 38
  • GRPC是基于protocol buffers3.0协议的. 本文将向您介绍gRPC和protocol buffe...
    二月_春风阅读 18,031评论 2 28
  • 最近有朋友问我有没有用过GRPC ,我一直以为RESTful的流行让 RPC(Remote Procedure C...
    dimsky阅读 10,764评论 8 12
  • 幸福路人春风20170914第103天 今天早上我一起床,女儿的表铃也想起来了,我以为和昨天一样,她依旧起不来呢!...
    春风7861阅读 211评论 0 0