一 基础介绍
跨系统对接,会根据实际的技术现状,业务需求和系统要求,来设置对应接口对接的方式。
使用哪种方式进行系统间的接口对接,需要考虑的问题有:系统的耦合性;技术能力与开发成本;对接的数据格式要求;数据延迟和更新频率的要求;远程通信涉及到同步和异步的问题;系统的可靠性与对接有效性
系统之间接口对接的方式主要有以下几种:
方式一:ftp/文件共享服务器方式
方式二:Socket方式
方式三:数据库共享方式
方式四:message方式
二 常用接口对接方式
2.1 ftp/文件共享服务器方式
方式说明: 系统A和系统B共同约定文件服务器地址,文件命名规则,文件内容格式等,通过上传文件到文件服务器进行数据交互
适用场景: 数据量大,数据批量处理,不进行实时处理的书
优点: 不占用网络带宽;不涉及复杂的网络传输和网络协议
缺点: 不能实时传递;共用的文件服务器存在安全风险;文件格式更改需要系统双方一起同步修改
2.2 Socket方式
方式说明: 是C/S客户服务器交互方式,一台客户机和一台服务器,服务器提供接口地址和端口,并约定请求报文格式和响应报文格式,客户机通过地址和端口进行访问,传输协议可是TCP/UDP协议。
适用场景: 服务器和客户机的场景,常用的http调用,java远程调用,webservices 都是采用的这种方式
优点: Java易于编程;易于控制权限;也适用其他语言,通用性强
缺点: 服务器端不可用会影响整体交互;数据量大会影响带宽导致超时
2.3 数据库共享方式
方式说明: 系统A和系统B连接同一个数据库服务器,系统A写入数据到表里,系统B进行查询
适用场景: 公司内部的系统对接,且对数据的可靠性要求比较高
优点: 数据交互简单;数据交互灵活可靠支持回滚
缺点: 连接池数量有限,系统太多会导致无可用连接池;不适用外部公司信息
2.4 message方式(MQ)
方式说明: 系统A和系统B通过消息服务器进行数据交换。系统A发送消息到消息服务器,如果系统B订阅系统A发送过来的消息,消息服务器会消息推送给B,双方约定消息格式即可
使用场景: 应用之间要通信的消息都通过消息队列来传输,由消息队列来保证数据传输的异步性、稳定
优点: 系统间耦合较小;消息传输可靠;系统可靠;消息灵活接入方便
缺点: 中间件配置有学习成本;数据量大的时候会导致数据积压与消息延迟或丢失