期货交易自动化论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 24|回复: 0

如果大家关注SOA的事务一致性的处理,那么不妨看看我们是怎么解决的 - 第5页 - 金融行业 - ITPUB论坛-专业的IT技术社区

[复制链接] |主动推送

285万

主题

285万

帖子

855万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8553710
发表于 2022-9-11 06:59:05 | 显示全部楼层 |阅读模式
pacman2000 发表于 2012-2-6 14:10

是的,对外接口毫无疑问必然是有一致性问题。这时候就要依据资金安全原则理清交易步骤,以及靠事后对账来 ...
行内系统能简单就简单,这个说法完全同意,但很多银行不得不外购应用系统,还真简单不起来
taelons 发表于 2012-2-6 14:16

1、你对分布式事务的理解仍局限于数据库事务的范畴。在商业的RAD6能很容易的实现WebServices事务
2、不是 ...
1、如果你一定认为基于两阶段提交的(分布式)事务模型确实能普遍应对各种一致性问题,我也没什么可说的,不过到目前为止,银行系统似乎还没有一个运用两阶段提交机制的,我记得2000年我们对几个商业软件做过两阶段提交机制的测试,并最终放弃。希望你能多创造一些案例,供我们大家参考
2、如果多家银行都代销一家基金,你不调用一下基金公司的接口,怎么知道基金有没有卖完?先查询一下?不担心查询完后余量又变了?你不担心收了客户的钱,第2天又告诉他没买到,客户有意见?当然了,我们现在很多银行都是这么对待客户的,他们不怕客户有意见——这是我对买基金应用中“必须”不调用基金公司接口的回答
pacman2000 发表于 2012-2-6 14:25

这样吧,就拿这个ATM跨行取款交易的例子,来看看你的模型是如何处理的?
这就是一个简单的、典型的异步模式的服务应用:
ATM发出取现请求后,服务应用判断出为他行卡,则向银联发出取现报文,发出后服务应用休眠——保存当时的重要状态,释放处理线程/进程。在稍后一个时刻,银行收到了银联的应答,再唤醒该服务应用——分配处理线程,获取休眠时的状态。如果银联的应答是失败,则生成“交易失败”服务应答给ATM;如果银联的应答是成功,则调用主机账务系统取现交易,成功后生成“交易成功”服务应答给ATM。
当然,向银联发出取现报文的同时会安装一个计时器,一旦超过时间,就自动唤醒该服务应用,此时,服务应用将认为银联应答不明确,并因此生成“交易失败”服务应答给ATM,同时启动自动冲正机制,防止一致性问题。
关键不在于写这样的异步服务,而是要提供一个平台,允许大家用同步模型来编写出可以按异步模式工作的服务应用
1、那为什么放弃呢?为什么一定要webservices?LZ在回避自己的理解错误
2、我做基金这行这么多年,第一次听说这种基金
taelons 发表于 2012-2-6 14:52

1、那为什么放弃呢?为什么一定要webservices?LZ在回避自己的理解错误
2、我做基金这行这么多年,第一次 ...
呵呵,也许基金这个名字改成其他投资产品比较合适
taelons 发表于 2012-2-6 14:52

1、那为什么放弃呢?为什么一定要webservices?LZ在回避自己的理解错误
2、我做基金这行这么多年,第一次 ...
为什么一定要webservices?呵呵,这个也要回答么?
efscao 发表于 2012-2-6 14:58

呵呵,也许基金这个名字改成其他投资产品比较合适
刚核实了一下,用基金做例子确实不对啊,向taelons致歉。
记忆有误,应改成价格实时浮动的投资产品
efscao 发表于 2012-2-6 14:59

为什么一定要webservices?呵呵,这个也要回答么?
银行的OLTP本来就不是web,没必要什么都扯上webservice。而且SOA的S也只是service,可没说是webservice哦。
pacman2000 发表于 2012-2-6 16:01

银行的OLTP本来就不是web,没必要什么都扯上webservice。而且SOA的S也只是service,可没说是webservice哦 ...
这个基本同意。我们的OLTP不一定都非得搞成WebService不可,但我们集成其他应用,以及其他合作伙伴的功能,今后大都会采用webService标准。退后一步,哪怕他们不是提供WebService,至少有一点是肯定的,他们会提供某种形式的service供我们集成,而不是让我们直接访问他们的数据库。这就必然带来一致性问题。实际上,我们的模型是针对各种服务集成时出现的一致性问题,而不仅仅是webservice
本帖最后由 pacman2000 于 2012-2-6 17:11 编辑
efscao 发表于 2012-2-6 14:46

这就是一个简单的、典型的异步模式的服务应用:
ATM发出取现请求后,服务应用判断出为他行卡,则向银联发 ...
嗯?这里没看到你说的异常人工处理啊。
同步方式调用异步访问,这个在现有的综合前置,ESB等等系统里也有类似实现的。而且对于解决一致性问题来说,这个不是重点,异常处理才是重点。
比如说,银联提交成功以后,提交核心交易失败了。这时候的处理过程怎么样呢?假如冲正也失败了又怎么处理?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|期货交易自动化论坛

GMT+8, 2024-11-26 17:46 , Processed in 0.122584 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表