稍微总结下了目前项目中CRM通过ESB与其他系统交互时关于同步异步选择的问题。
同步和异步都是接口交互的一种模式,也可以理解成数据交互的方式。
同步:CRM通过ESB与外部系统直接连接保持不断,直至外部系统返回接口或状态此连接方结束。已知同步接口:查号、选号、选址、锁号…
返回结果在同一接口返回
优点:实时性强。速度块。容错性强。
缺点:高峰时易造成网络堵塞。或当外部系统故障时因无法返回结果而导致业务不能持续。
异步:CRM只和ESB实时交互,即CRM数据送达ESB后就返回,CRM继续完成后续操作。ESB会把数据在空闲的时间(网络空闲)发送给其他系统。已知异步接口:创建客账户、订单送OSS…
返回结果需一个新接口返回
优点:合理应用网络资源不易对外部系统造成堵塞现象。外部系统故障时,数据仍旧保留在ESB中,直到系统恢复。
缺点:实时性查。速度较慢。容错性差(外部系统故障时CRM不会感知)。如果需要返回接口需另外提供新接口。
特别选择同步还是异步请各位从生产环境考虑,在对业务影响不大的情况下建议采用异步的方式。如有疑问与我交流。
近期评论