首页 > 其他分享 >一图看懂 6 种 API 架构模式

一图看懂 6 种 API 架构模式

时间:2023-10-06 13:02:46浏览次数:37  
标签:架构 gRPC 实时 一种 API 模式 一图


刚刚摸鱼刷了一会儿X,正好看到一张非常棒的动图,顺手给大家分享一下。

这张动图中包含6个简短的动画,分别总结了我们日常开发中最常见的6中API模式:

动图转自:https://twitter.com/AmigosCode/status/1701563810300006661

图中所描述的6种API模式分别是:

gRPC:一种高性能、跨语言、易扩展的远程过程调用(RPC)框架,可用于分布式系统之间的通信。gRPC被广泛地应用于微服务体系结构中。

SOAP:一种比较古老的数据交换方式,常用于在Web服务实现中交换结构化信息的协议,以其严格的标准和基于XML的消息格式而闻名,不过现在新系统的应用已经不多了。

GraphQL:Facebook开源的一种新颖的架构模式,允许客户端只请求他们需要的数据,可以有效地减少数据的过度获取等问题。

WebHook:一种被动式的实时通信机制,其中应用程序向预定义的URL发送HTTP POST请求以通知并触发另一个系统中的操作。

REST:一种用于设计网络应用程序的架构风格,使用标准的HTTP方法(GET、POST、PUT、DELETE)来操作资源。

WebSocket:一种支持客户端和服务器之间通过单一、长期连接方式进行的双向实时通信协议,非常适合需要低延迟更新的应用程序,如:实时聊天、主动推送、游戏等领域。

其中,gRPC、GraphQL、REST,之前都有视频介绍。如果上面这个图看了无法理解的话,建议前往查看,都是几分钟的小视频,非常容易看懂。

··································

你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。

标签:架构,gRPC,实时,一种,API,模式,一图
From: https://blog.51cto.com/u_14299052/7723501

相关文章

  • 调用API获取天气数据
    在学习SpringMVC过程中,我了解到RestfulAPI的调用只需要请求符合规范就能很轻松的实现功能,可以很好地引起我们的学习兴趣,这里我也自己尝试使用了AJAX,jQuery来向API发送请求,并接收JSON数据。一、找到API提供商这里我使用的是https://www.apispace.com/,提供的各类API非常齐全,文......
  • 嵌入式裸机设计思想——时间片轮裸机开发架构+状态机+定时器调度机制
    前言(1)(2)在MCU开发的时候,很多入门者会固执的认为,做项目一定要上实时操作系统。但是真的是这样的吗?(3)我曾经阅读过一位10年嵌入式开发经验的大佬分享的公众号,这位大佬感叹到,其实对于绝大多数时候,MCU开发不需要上操作系统。只要任务分配的合理,百分之九十的项目不上操作系统都是能够跑......
  • 【python自动化】七月PytestAutoApi开源框架学习笔记(二)
    执行流程注:请先阅读作者的README.md文档https://gitee.com/yu_xiao_qi/pytest-auto-api2/blob/master/README.md本节内容目录如下:文章目录执行流程目录结构参数配置入口文件-run.pypytest.initest_case初始化数据缓存解析yaml测试数据测试用例执行conftest.py用例demo分析加载yaml......
  • stepci 开源api 自动测试框架
    stepci是基于nodejs开发的,开源api自动测试框架包含的特性语言无关 可以基于yaml,json,js定义支持多种框架 rest,graphl,grpc,trpc,soap自托管 可以集成到ci/cd中,同时可以自己部署与行可集成 可以很好的与其他工具集成说明stepci目前也支持负载测试(预览状态),同时还支持f......
  • 基于SSM架构的房产局地籍登记与管理系统的设计与实现(附源码论文资料)
    基于SSM架构的房产局地籍登记与管理系统的设计与实现(附源码论文资料)文章目录1.引言2.系统概述3.购买租用管理模块3.1设计和具体实现过程3.3.1注册登陆3.3.2购买支付4.发布管理模块4.1功能简介4.2.界面4.3设计和具体实现过程4.3.1地籍发布4.3.2地籍审核5用户与地籍管理5.......
  • Roslyn Scripting APIs
    Net编译器平台---RoslynScriptingAPIs 合集-小工具(8) 1.Net编译器平台---Roslyn07-072.Net编译器平台---RoslynScriptingAPIs07-083.UI自动化---微软UIAutomation07-094.UI自动化---UIAutomation基础详解07-105.工具---IL指令集解释07-216.基......
  • 复杂系统的架构设计与开发(节选一)
    本文内容摘自《系统架构. 复杂系统的产品设计与开发》系统架构原则涌现原则(2.2.2节) 当各实体拼合成一个系统时,实体之间的交互会把功能、行为、性能和其他内在属性涌现出来。 整体原则(2.4.3节) 每个系统都作为某一个或某些个大系统的一小部分而运作,同时,每个系统中......
  • 三层架构详解
    一、什么是三层架构?   UI(表现层):主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。   BLL:(业务逻辑层):UI层和DAL层之间的桥梁。实现业务逻辑。   DAL:(数据访问层):与数据库打交道。主要实现对数据的增、删、改、查。将存储在数......
  • 系统架构设计师论文范文
    论文目录一、论基于DSSA的软件架构设计与应用二、论基于Rest服务的web应用系统设计三、论软件可靠性设计与应用一论基于DSSA的软件架构设计与应用【摘要】去年三月份,我所在的公司启动国网电力用户用电信息采集系统项目,我被任命为项目负责人。国网电力用户用电信息采集系统是国家电......
  • socket API
    在Linux下,套接字编程(SocketProgramming)涉及多个系统调用和库函数来创建、配置和管理套接字。以下是一些常用的套接字相关的API:socket():创建套接字,返回一个套接字描述符。bind():将套接字与特定的IP地址和端口号关联。listen():将套接字设置为监听状态,用于接受连接请求。......