首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数据一致性-对账

    一致性分为强一致性和弱一致性。 强一致性的协议和手段主要有:二阶段提交(2PC)、三阶段提交(3PC)、TCC(Try-Confirm-Cancel)补偿型。这里面经常有人把两阶段提交和TCC补偿型混淆。二阶段提交实际上业务逻辑是在提交之前做的,两阶段只是事务控制的两个阶段。而TCC是将业务逻辑分为try、confirm和cancel三个阶段。举个例子:比如一个人要预售苹果,有两种销售策略。一种让用户先付钱,根据用户需求量准备足够的苹果。另一种是让用户先付钱同时声明到时候先到先得,没抢到的就退款。第一种就是二阶段提交,第二种就是TCC。弱一致性在分布式系统中常用的是一种特例:最终一致性。在工作中,最终一致性通常通过补单和对账来解决。补单主要指在运行时同时检查返回值,如果返回值为失败,会重新处理(补单处理)。 对账主要分为两个阶段:数据核对和差错处理。数据核对就是对账中的轧账。注意「轧」这里念「ga」二声。差错处理就是对账中的平账。

    02

    [答疑]买家发起退款与买家撤消退款是什么关系

    杭大伟(28****23)13:27:26 问个UML用例之间的关系问题:在电商网站中,买家买到东西不满意,于是发起了退款。后来卖家说买家一点补偿。于是买家想撤消退款。 杭大伟(28****23)13:27:42 于是问题是:买家发起退款这个用例, 与买家撤消退款这个用例, 杭大伟(28****23)13:27:45 两者是什么关系? 杭大伟(28****23)13:27:48 扩展? 潘加宇(3504847)13:29:50 你的研究对象是"电商网站"? 杭大伟(28****23)13:30:01 是的。 潘加宇(3504847)13:30:24 就是两个用例嘛 潘加宇(3504847)13:30:27 不用扯上关系 杭大伟(28****23)13:31:06 可是如果 不事先走发起退款这个用例,撤消退款用例这个其实不存在的。 潘加宇(3504847)13:31:35 "不事先走发起退款这个用例,撤消退款用例这个其实不存在的"这个想法是不对的 杭大伟(28****23)13:32:04 为什么呢? 潘加宇(3504847)13:32:58 是否可以使用系统来"撤消退款"用例,判断标准是"存在符合退款条件的订单" 潘加宇(3504847)13:33:41 至于系统如何达到"存在符合退款条件的订单"的状态,不一定和某个特定用例相关 杭大伟(28****23)13:33:50 判断标准是:1,必须有退款(买家已经发过),2, 退款还在退款中。 潘加宇(3504847)13:34:23 这个细微的问题恰好是软件复杂性的关键所在 杭大伟(28****23)13:35:06 嗯,我现在在做系统用例,遇到这个问题,在用例图上如何表现 发起退款, 撤消退款, 杭大伟(28****23)13:35:23 感觉不是那么好表现。用扩展关系,感觉又不像又像。 潘加宇(3504847)13:36:46 两个独立的用例。因为退款结束,执行者就走开了,交互已经完毕。什么时候想用系统来取消,是另一件事情。取消并非退款的分支。 潘加宇(3504847)13:37:19 你如果这样想就麻烦了 潘加宇(3504847)13:37:36 存款是不是取款的扩展啊 潘加宇(3504847)13:38:05 要想取款,是不是先得用系统存款? 杭大伟(28****23)13:38:10 撤消退款是用户主动发起的。 杭大伟(28****23)13:38:19 不是系统来发起的。 杭大伟(28****23)13:38:42 又感觉 撤消退款不能作为一个用例。软件方法里说到,系统用例是用户的一种期望,撤消退款显然也不能作为用户的期望。就像软件方法中的登录,登录不能作为系统用例一样。 潘加宇(3504847)13:38:57 撤销退款和登录不一样 潘加宇(3504847)13:40:03 我刚才讲的 至于系统如何达到"存在符合退款条件的订单"的状态,不一定和某个特定用例相关 你理解没有? 潘加宇(3504847)13:40:14 状态和行为的区别 杭大伟(28****23)13:40:55 但您的意思是,撤消退款就单独做为一个用例么 潘加宇(3504847)13:41:34 拿开饭馆举例,顾客来吃饭,喝茶、打包、办宴会,城管来收管理费,都是用例。 但是"进门坐下"不是 潘加宇(3504847)13:41:46 我上面已经说清楚了 杭大伟(28****23)13:45:38

    01
    领券