数据传输数据调用中的那些常用方式
日期:2024-02-28 18:15:10   来源:产品展示

  在互联网和物联网高度发达的今天,似乎一切都可以连接起来,而彼此连接通讯的方式是API,而对于API,有很多种方式来进行数据的传输,今天我们就来说一说API通信的演变过程。

  它的全称叫做简单对象访问协议,它是最早人们用来进行数据传输的通讯协议,它通过xml定义了服务调用的参数和类型,定义了正文格式,定义了响应方式, 它能够最终靠http协议进行传输,也能够最终靠smtp协议或者tcp协议进行传输,因为xml的冗长,在消息过多的时候,它的传输数据会大大增加。

  在xml格式冗余数据过多的时候,人们发现json数据格式可以传输更多的信息,并且json被很多编程语言所支持,因此,慢慢的变多的api采用json数据格式来对外提供服务。

  可以说现在开放的第三方api,一定会提供json的接口数据格式,当然,有些第三方也会在支付接口中返回xml的数据通讯格式。

  rest全称是资源表现形式的状态变化,它是一种架构风格,用来约束资源的查找和定位。

  它不是数据的传输格式,它也不是单单约束数据的传输格式,它约束的是资源的状态改变方式,它把一切都看成资源。

  这里的表现形式指的是json,xml或者html任何数据格式,包括图片格式。

  状态变化指的是通过GET,POST,DELETE,PUT等动作来修改它的状态,使它的状态增加,减少,被删除等。

  虽然很多问题能被rest来解决,比如交易映射,增删改查映射,文档映射,但是还是有很多情况下,rest没办法使用所有的映射情况。

  gRPC 是来自 Google 的现代轻量级通信协议。它主要是用来解决远程过程调用的问题。

  在分布式系统中,各个系统经常需要调用其它系统的服务,除了通过http接口方式来进行调用之外,还有其它的调用方式,gRPC就是这里面的一种。

  它是很有效的一种方法,它利用了 HTTP/2 的特性,解决了同步发送问题,它能够直接进行广播发送,也能轻松实现多路复用,通过一个连接,它可以传输更多的消息。

  它采用的是二进制的数据格式,相比于json,xml等文本格式,它大大缩小了数据传输的体积,同样的带宽可以更快更多地传输消息。

  GraphQL 是 Facebook 发明的,它为查询api提供了另一种方式,能够最终靠一个接口,根据不同的查询条件,返回不同的数据。

  GraphQL 允许您在单个查询中询问您想要的内容,从而节省带宽并减少瀑布式请求。它还使客户端能够请求他们自己独特的数据规范。

  API 研发人员使用 GraphQL 创建一个模式来描述客户端能够最终靠该服务查询的所有可能的数据。GraphQL 模式由对象类型组成,这些类型定义了您能请求哪种类型的对象以及它具有哪些字段。当查询进来时,GraphQL 会根据架构验证查询。

  GraphQL 查询不仅仅可以获得资源的属性,还能沿着资源间引用进一步查询。典型的 REST API 请求多个资源时得载入多个 URL,而 GraphQL 能够最终靠一次请求就获取你应用所需的所有数据。这样一来,即使是比较慢的移动网络连接下,使用 GraphQL 的应用也能表现得足够迅速。

  在万物互联的时代,人们总是必不可少地需要跟第三方接口打交道,或者是向第三方提供接口服务,我们总是希望我们的程序能更快,更高效,更便捷,因此研发人员不断研发和改进技术,未来的接口服务不是第三方提供什么服务来给用户使用,而是用户想要什么数据就可以从第三方调取。

  NDC全称Neteasedatacanal,即网易数据运河,是一个平台化的结构化数据传输系统,目的是解决结构化数据的实时迁移、同步、订阅、OLTP到OLAP的实时数据整合等问题。我们大家都希望能够借此将数据库中的数据与其他系统打通,从而构建一个能够整合所有数据库的“数据运河”,任何系统都能够从“运河”中获取数据。此次由51CTO主办的2017WOTA全球架构与运维技术峰会上...