文档章节

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

jerrik
 jerrik
发布于 2017/09/10 13:14
字数 635
阅读 3
收藏 0

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

输入图片说明

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

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

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

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

© 著作权归作者所有

共有 人打赏支持
jerrik
粉丝 3
博文 11
码字总数 6574
作品 0
深圳
分布式之BASE理论和补偿机制

事务和ACID 在分布式系统中,组件越来越微服务化,要完成一个业务流程需要多个微服务的配合。在执行的过程中,某个微服务难免会出现问题,为了保证业务执行的完整性和一致性,需要至少保证下...

_一苇航之_
06/03
0
0
第三部分 SOA项目的运维

第三部分,SOA项目的运维 在这一部分主要介绍运维阶段的工作,以及如何进行系统的改进和优化工作。 1 运维管理 运维管理就是对SOA系统的运行进行监控和管理。运维对象包括SOA基础设施(也包括...

朱律玮
2009/04/17
0
0
聊聊分布式事务

原文出处:员海滨 投稿 分布式事务场景如何设计系统架构及解决数据一致性问题,个人理解最终方案把握以下原则就可以了,那就是:大事务=小事务(原子事务)+异步(消息通知),解决分布式事务...

员海滨 投稿
2017/04/07
0
0
分布式事务

What’s 事务 事务(Transaction)及其ACID属性 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性: 原子性(Atomicity):事务是一个原子操作单元,...

张孝国
2017/04/17
0
0
(四)购物商城数据库设计-订单系统设计

上一篇文章购物商城数据库设计-商品表设计中我们介绍了商品表的设计与实现。 接下来我们来一起设计下订单表。 订单系统在整个商城体系中的作用非常重要,因为一些业务的开展往往是围绕订单来...

tanghc
06/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

面向对象设计原则(OOP)

单一职责原则(Single responsibility principle)又称单一功能原则。它规定一个类应该只有一个发生变化的原因。 核心原则:低耦合,高内聚。 一个类,应该只有一个引起它变化的原因,也就是...

gackey
39分钟前
2
0
C++ 锁

C++提供了两种常用的锁,std::lock_guard<Lockable &T>和std::unique_lock<Lockable &T>。通常使用场景下,这两个锁用法一致。即,在构造锁对象时上锁,在析构锁对象时解锁。使用户从上锁/解...

yepanl
42分钟前
2
0
Kali Linux Docker 練習

docker pull kalilinux/kali-linux-docker docker run -t -i kalilinux/kali-linux-docker /bin/bash apt-get update apt-get install htop apt-get install nmap apt-get install wpscan ap......

BaiyuanLab
今天
2
0
通俗大白话来理解TCP协议的三次握手和四次分手

最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看了很多这方面的知识,也在系统的学习计算机网络,加深自己的CS功底,就...

onedotdot
今天
2
0
TiDB 在爱奇艺的应用及实践

爱奇艺,中国高品质视频娱乐服务提供者,2010 年 4 月 22 日正式上线,推崇品质、青春、时尚的品牌内涵如今已深入人心,网罗了全球广大的年轻用户群体,积极推动产品、技术、内容、营销等全方...

TiDB
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部