2个系统如果同步组织架构 两个系统数据同步_2个系统如果同步组织架构

不同系统之间的数据同步



企业内部的系统多了,系统之间数据同步共享是避免不了的,今天就聊聊系统之间数据同步的方式。

文件形式

用文件方式同步多个系统之间的数据也是常用的方式,实现起来简单,有几种形式:

  • 共享目录:可以是同台机器内的硬盘目录或者是挂载一个共享存储。在系统之间同步数据是非常简单,对共享存储中的文件读写就可以了。
  • FTP或者对象存储:不同系统间的批量文件往往用此方式实现,比如银行的批量回盘文件。数据量比较大的情况下大多采用此种方式,这种方式一个缺点就是不能实时,做个通知接口可以做到准实时性。
  • zookeeper:zk是基于文件的,可以同步简单数据,大数据量不太合适。

数据库同步

同步结构化的数据可以采用数据库的形式,比如一个做批量的服务专门计算或统计业务数据,统计结果写入一个库,业务系统需要的时候直接从这个库读取即可。

数据库同步的方式我理解大多数是单向少数几个系统间的同步。也可以多个系统间使用,比如用数据库的方式生成唯一ID,多个系统共享使用。

实时接口形式

实时接口应该是最常用的方式,

  • HTTP接口:这种接口是使用最多的,Spring cloud所支持的,也是多个异构系统间所采用的同步方式。使用方式,可以用推送或者拉取。
  • RPC方式:微服务的兴起,诞生了很多RPC框架,也可以说RPC框架促进了微服务的进步。比较流行的RPC框架有Dubbo、gRPC、Thrift、Motan等。
  • CS方式:客户端-服务器方式,很多APP就是这种方式,比如聊天软件。很多中间件集群的数据同步也是这样做的。其实HTTP或者RPC底层数据传输也是这种方式。

准实时接口形式

常用的就是MQ消息队列,在收集日志或者多个系统间的准实时同步,优点就是系统解耦。

分布式缓存

现在流行的redis或者memcached就是存储共享的缓存数据,也可以是数据共享的方式。




2个系统如果同步组织架构 两个系统数据同步_RPC_02

系统同步共享