网站首页 > 博客文章 正文
前几天刚发了一个如何学习一门新技术,现在正好遇到了要学习的东西,因为重新找了工作,所以新公司使用的技术需要自己快速上手,那么快速学习就是必须掌握的一门技能了.下面根据之前的博文展示如何快速入门一门新技术.(本篇很多内容都摘抄自网络)
1.gRPC是什么?
搜寻百科博客之类的可以查看到很多资料.
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了.
猜你喜欢
- 2024-10-16 Spring Boot集成grpc快速入门demo
- 2024-10-16 如何在 Go 中使用 gRPC?(golang grpc etcd)
- 2024-10-16 gRPC 1.34.0 发布,高性能 RPC 框架
- 2024-10-16 gRPC入坑记(grpc教程 go)
- 2024-10-16 凌鲨(linksaas)的客户端架构(凌肖 鲨鱼)
- 2024-10-16 Python gRPC 入门(grpc python asyncio)
- 2024-10-16 纯干货:微服务开发手册之GRPC(微服务开发入门)
- 2024-10-16 golang中gRPC与gRPC-Gateway的结合使用
- 2024-10-16 GRPC-C++源码分析(六)--Server-Register
- 2024-10-16 漫谈gRPC:Google自研的rpc框架(grpc go-micro)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)