美文网首页
业务系统中间状态设计的重要性

业务系统中间状态设计的重要性

作者: jerrik | 来源:发表于2017-09-15 11:30 被阅读0次

一、进入正题

笔者从属于金融领域,肯定免不了要和银行打交道。业务系统要想做到和银行完全隔离,就免不了中间代理,中间代理只专注于处理和银行对接,接收请求,响应请求,处理编码解码、重连等一系列操作。具体业务系统怎么调用,他们无需关心。这样业务系统就能和银行系统完全解耦开了,即使将来某一天银行的通信协议或者接口变更,对业务系统来说,都是无感知的,只需在中间代理层做修改即可。

交互图交互图

这里我主要想强调下中间代理中间状态的重要性。业务系统发起一笔业务,中间系统接收业务系统请求,封装通信协议 发送给银行,然后银行解析请求,操作具体业务,将结果返回给中间代理,中间代理负责解析请求,将结果告诉业务系统。试想中间代理要是状态不明,哪条链路断了都不清晰,解决问题就十分困难了。
其中涉及到4个链路,每个链路都有可能出问题。而且中间代理层要涉及到对请求和响应消息的编码和解码,有可能会因为一方的更改没有告诉另一方导致失败,所以中间代理层必须得定义出6个状态来标识一个正常的请求响应链路进行到了哪一步,而且都要详细记录请求报文和响应报文。

业务系统->中间代理: 已上报
中间代理自处理:上报待处理
中间代理->银行: 已发送
银行->中间代理:待响应
中间代理自处理:响应待处理
中间代理->业务系统:已完成

只有把这些状态边界定义清楚了,才能知道系统的问题出在哪里,才会有针对性的解决方案。

二、思考

其实不仅仅是业务系统,设计到很多层面。例如 当我们的业务系统依赖MQ来做解耦时,就可以利用中间状态来实现消息的一致性问题,要保证业务成功 消息就成功,同理,业务失败,消息也要失败。(具体可以参加大型网站与java中间件中的互联网中间件这一章节)

相关文章

  • 业务系统中间状态设计的重要性

    一、进入正题 笔者从属于金融领域,肯定免不了要和银行打交道。业务系统要想做到和银行完全隔离,就免不了中间代理,中间...

  • 订单整理设计

    架构 业务架构——根据业务需求设计业务模块及其关系 系统架构——设计系统和子系统的模块 技术架构——决定采用的技术...

  • 数据库设计相关

    一、数据库设计 数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS(数据库管理系统),为这个业务系统构...

  • 数据库设计

    数据库设计 简介 简单来说,数据库设计就是根据业务系统的具体需要,结合我们所选的数据库管理系统,为这个业务系统构造...

  • 支付收银系统设计

    一、系统设计概要 支付收银系统设计概要,这里我们为了方便扩展,增加一个业务方的概念,即一个收银系统接入多个业务方,...

  • 加油网络之技术架构

    一个系统应该是先设计业务架构,再设计技术架构。业务架构主要是为“人”理解系统,而出的方案。既要考虑新业务加入时的扩...

  • 企业架构之业务中台建设指南-设计篇

    业务中台设计方法 基于标准的业务中台服务化设计流程结合营销的业务特性和项目特性,形成系统业务中台服务化设计总体流程...

  • 《战略推演》课程笔记总结:路线设计——业务路线设计

    路线设计——业务路线设计 一、概念 业务路线是业务路线推演的重要方法和工具,是企业战略意图实现的价值创造系统,业务...

  • 业务后台系统之流程设计

    上周在《业务后台系统之权限设计》中总结了自己在最近一个后台业务系统项目中的后台产品设计经验,本篇继续总结完后台设计...

  • 阿里蚂蚁保险岗位需求

    1.协助业务方梳理业务需求,提供业务规划方案、架构设计方案; 2.负责业务系统的规划设计,制定产品的技术发展路线,...

网友评论

      本文标题:业务系统中间状态设计的重要性

      本文链接:https://www.haomeiwen.com/subject/zvjssxtx.html