美文网首页极乐科技微服务架构和实践
gRPC学习记录(一)--概念性知识

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

作者: 此博废弃_更新在个人博客 | 来源:发表于2017-02-03 10:44 被阅读954次

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了.

相关文章

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

    gRPC学习记录(一)--概念性知识 标签(空格分隔): javaWEB 前几天刚发了一个如何学习一门新技术,现在...

  • gRPC 学习笔记

     gRPC 学习笔记,记录gprc一些基本概念.  gRPC正如其他 RPC 系统,gRPC 基于如下思想:定义一...

  • 彭晋辉:概念性知识与其他知识的关联

    听过昨天的学习力学员分享后,对“概念性知识”了解更深了,发现事实性知识、概念性知识除概念界定外,主要还要按照吸收知...

  • grpc学习记录

    pb安装 安装protocmacbrew install protobuf 安装protoc-gen-go$ go...

  • 静默知识

    今天学习到一个新概念:知识可以分为隐性知识和显性知识,隐性知识又称为静默知识。 我们通过书本上或多媒体等渠道学习到...

  • 布鲁姆学习分类

    布鲁姆学习分类包括两点:知识分类和认知层次。 一、知识分类:事实性知识,概念性知识,程序性知识,元认知知识。 用黄...

  • 《语文教学之学理》读书笔记五

    事实性知识、概括性知识与“大概念” 一、知识 作者指出,“知识”或“技能”,就是学习内容。语文老师不必避讳...

  • 学习概念性知识

    我将在学习一个概念性知识时会自问的三个问题总结如下: 自问1 这个知识的来龙去脉是什么 自问2 这个知识与其他知识...

  • 如何建立认知体系

    一、布鲁姆认知分类法 1.事实性知识 单点知识,各个概念的描述和细节 2.概念性知识 框架性知识,原理、抽象总结,...

  • 《语文教学之学理》读书笔记六

    过程技能与“大概念” “布鲁姆教学目标分类学”将知识分为事实性知识、概念性知识、程序性知识、元认知知识。作者...

网友评论

    本文标题:gRPC学习记录(一)--概念性知识

    本文链接:https://www.haomeiwen.com/subject/ppcdittx.html