API 风格 (三):RESTful & gRPC

这篇具有很好参考价值的文章主要介绍了API 风格 (三):RESTful & gRPC。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

RESTful  VS  gRPC

对比项 RESTful gRPC
优点
  • 相对来说,REST更规范、标准、通用,无论哪种语言都支持 HTTP 协议,可以对接外部很多系统,只要满足 HTTP 调用即可。
  • 通常采用 JSON 作为数据通信格式,可读性强,开发调试都很方便。
  • 客户端与服务端之间 松耦合,让变更更加方便。
  • 屏蔽网路细节,像调用本地方法一样,调用远程接口。
  • 通常采用 Protocol Buffers 作为数据传输格式,这种格式数据传输效率高。
  • 基于 HTTP/2 协议标准,性能更高。
缺点
  • 扩展性差:随着需求的变化,单个 RESTful 接口可能会变得越来越臃肿。
  • 性能相对于 gRPC 偏低。
  • Protobuf 数据格式可读性差。
  • gRPC 不支持浏览器调用,因此不能用作外部服务。
  • 调试不方便,没有像 RESTful 中的 postman 和 curl 之类的调试工具。
适用场景
  • 接口对外,需要接口规范易懂。
  • 对系统性能要求不高。
  • 提供的 API 天生围绕资源、对象、管理展开。
  • 消息密集型、对系统性能和延时要求比较高。
  • 偏向内部的 API。
  • 提供的 API 很难就行资源、对象抽象。

更多的时候,RESTful API 和 gRPC API 是一种合作的关系,对内业务使用 gRPC API,对外业务使用 RESTful API。

API 风格 (三):RESTful & gRPC

练习

已有一个 gRPC 服务,但是却希望该服务同时也能提供 RESTful API 接口,这该如何实现?

    希望用RPC作为内部API的通讯,同时也想对外提供RESTful API,又不想写两套,

    可以使用gRPC Gateway 插件,在生成RPC的同时也生成RESTful web server。

    grpc-gateway文章来源地址https://www.toymoban.com/news/detail-403690.html

到了这里,关于API 风格 (三):RESTful & gRPC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • API 接口选择那个?RESTful、GraphQL、gRPC、WebSocket、Webhook

    大家好,我是比特桃。目前我们的生活紧紧地被大量互联网服务所包围,互联网上每天都有数百亿次API调用。API 是两个设备相互通讯的一种方式,人们在手机上每次指尖的悦动,背后都是 API 接口的调用。 本文将列举常见的一些 API 接口,并阐述它们之间的优缺点及关系。

    2024年02月11日
    浏览(34)
  • 5、HDFS API的RESTful风格--WebHDFS

    1、hadoop3.1.4简单介绍及部署、简单验证 2、HDFS操作 - shell客户端 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java 4、HDFS-java操作类HDFSUtil及junit测试(HDFS的常见操作以及H

    2024年02月10日
    浏览(24)
  • 微服务间请求响应定义方式对比 (Apache Dubbo, IDL 定义,RESTful API)

    1. Apache Dubbo 分布式RPC Apache Dubbo 是一种分布式服务框架,它提供了一种透明的 RPC 机制,可以让服务之间像调用本地方法一样进行调用。Dubbo 使用 IDL 来定义服务接口,并使用各种协议(如 HTTP、Dubbo 协议等)进行通信。 优点: 透明化调用:无需关心服务部署细节,就像调用本

    2024年02月19日
    浏览(34)
  • Web开发模式、API接口、restful规范、序列化和反序列化、drf安装和快速使用、路由转换器(复习)

    一 Web开发模式 1. 前后端混合开发模式 2.前后端分离开发模式 二 API接口 三 restful规范 四 序列化和反序列化 五 drf安装和快速使用

    2024年02月10日
    浏览(33)
  • 【FPGA 芯片设计】FPGA 简介 ( FPGA 芯片架构 | FPGA 芯片相对于传统芯片的优点 )

    摩尔定律 : 价格不变 , 在集成电路上 电子元器件的数量 , 18 ~ 24 个月增加一倍 , 同时芯片性能也增加一倍 ; 同样花 5000 元 , 每隔 18 ~ 24 个月 , 买到的电脑性能可以翻一番 , 买电脑不要买最好的 , 第二年就淘汰 ; FPGA 英文全称 Field Programmable Gate Array , 中文名称为 \\\" 现场可编程门

    2024年02月03日
    浏览(71)
  • 【SpringMVC】| RESTful架构风格、RESTful案例(CRUD)

    目录    RESTful架构风格 1. RESTful简介 2. RESTful的实现 3. HiddenHttpMethodFilter RESTful案例(CRUD) 1. 准备工作 2. 功能清单 列表功能(显示数据)  删除数据(难点) 添加数据  更新数据 图书推荐:用ChatGPT与VBA一键搞定Excel REST: Re presentational S tate T ransfer, 表现层资源状态转移

    2024年02月08日
    浏览(36)
  • Restful风格笔记

    @RestController注解 在类上添加@RestController可以默认类中的所有方法都带有@ResponseBody注解,可以省去一个个添加的麻烦。 路径变量 @PathVariable注解可以让控制方法接收前端传来的请求中的路径变量。例如下面这个例子,无论前端传来1还是100这个id都能被控制方法中的requestId这个

    2024年02月10日
    浏览(29)
  • Restful风格

    准备工作 第一步: 创建Maven工程然后手动添加 web模块 第二步: 在 pom.xml 文件中指定Maven工程的打包方式 war 第三步: 引入依赖,由于Maven的传递性,我们不必将所有需要的包全部配置依赖,只需要配置最顶端的依赖,其他依赖靠传递性导入 第四步: 在web.xml文件中配置SpringMVC的前端控制

    2024年02月07日
    浏览(32)
  • RESTful 风格是指什么

    RESTful( Representational State Transfer )是一种基于 HTTP 协议的软件架构风格,用于设计网络应用程序的接口。它的设计理念是利用 HTTP 协议中的方法(如 GET、POST、PUT、DELETE 等)来对资源进行 CRUD ,使得客户端和服务器之间的通信变得简单、灵活和可扩展。 下面是 RESTful 风格的

    2024年02月21日
    浏览(31)
  • SpringMVC-Restful风格

    rest: 表现层(视图view及控制层controller)资源状态转移 具体说就是http协议里面,四个表示操作方式的动词: GET POST PUT DELETE 它们分别对应四种基本操作: GET 用来表示获取资源, POST用来新建资源, PUT用来更新资源,DELETE 用来删除资源. REST风格提倡URL地址使用统一的风格设计,从前到后各

    2024年01月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包