先了解点问题:
◎ 是否担心数据丢失,比如丢失率 1%?
◎ 系统时效性要求是否很高,比如是:实时、秒级、分钟级还是小时级?
◎ 系统间网络环境是否OK,比如是:互联网、同机房、同城专线?
◎ 系统间有无安全通讯信道等问题需要保障?
给点初步建议:
◎ 不暴露数据库,否则:人家统计你等待、人家锁表你死机、人家改数你纠错;
◎ 约松耦合越好,能批处理就不要实时处理,能用数据交换就不用接口调用,能用异步接口就不用同步接口;
◎ 是不是WebService随意,不过现在有不少轻量级方案,主要还是看安全性和性能要求了。
4种系统间交互方法比较 | ||||
指相对独立子系统间的交互 | ||||
指标\方式 | API | 数据文件 | 共享数据库 | (web系统)根域名cookie |
实效性 | 高 | 低 | 最高 | 实时 |
时间效率 | 高 | 低 | 最高 | 低 |
实时空间效率 | 低 | 高 | 低 | - |
实时占用带宽 | 低 | 低 | 低 | 低 |
系统设计正交性 | 高 | 高 | 低 | 低 |
系统设计耦合度 | 低 | 低 | 高 | 高 |
实现方式 | 同步/异步 | 异步 | 异步 | 异步 |
协议 | http request,socket,… | ftp,telnet,http,https,iSCSI,nfs… | mysql,MongoDB… | http,https |
数据结构 | 自定义 | xml,yaml,csv,excel,txt,binany,… | database | |
适用场景 | 时效性要求高,请求次数多,请求频率很高 | 时效性要求低,数据量小或中,请求频率最低 | 时效性要求最高,系统中,某几个对数据请求次数很高,请求频率最高 | 需要记录在浏览器中的信息 |
举例 | 单点登录中,cas服务器和cas客户端之间的交互 | 财务系统和银行的对账文件 | 计费系统的数据库 | 单点登录系统中的登陆信息(ticket等) |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。