API不适合做微服务数据同步

API SPI 的调用,有很大的一部分比例,都是为了做数据同步。

  • API / Application Programming Interface(应用程序接口)
  • SPI / Service Provider Interface (服务提供者接口)

软件要解决的是两部分的事情:

  • 信息的共享
  • 信息的加工

信息的加工时会对信息产生「增值的效果」,最终导致信息在形态上发生「形变」。

API和SPI的设计,如果没有进行任何加工(就是进行了业务逻辑,导致信息在结构上发生改变,变成另外一类的信息),那么之类的数据本质上是应该进行同步的操作。

导致不对数据进行直接同步的原因,有这些:

  • 信息的一侧没有持久化能力

比如,浏览器侧是不提供持久化的能力的,那么就需要另外一方(有持久化能力的)提供API(一般也就是服务端),方便浏览器实时获取信息。

  • 避免出现多份数据的一致性问题

一个数据实体,映射的是一个物理上的实体,物理实体的复制是困难的,但相比之下,数据实体的映射是简单的,特别特别简单的。这也导致了,数据在经过多个处理环节的时候,每个环节都可以对其进行持久化(这里不考虑安全性的问题)。