热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

转账问题是属于业务问题还是属于技术问题?

将钞票在两个账户之间转移属于业务问题还是技术问题?如果属于业务问题,就使用DDD等方式去解决,如果使用技术问题,就使用分布式事务组件或中间件或数据库去解决。但是很多人默认这是一个技


将钞票在两个账户之间转移属于业务问题还是技术问题?如果属于业务问题,就使用DDD等方式去解决,如果使用技术问题,就使用分布式事务组件或中间件或数据库去解决。
但是很多人默认这是一个技术问题,可以使用技术上的事务机制确保一个账户减去的钱等同于另外一个账户增加的钱。本文重点不是讨论谁对谁错,而是讨论大家忽视的边界划分问题,在你采购分布式事务时你有没有倒问自己,这种用技术解决问题的解决方案是不是违背一条裤子适合所有人穿的人月神话?
账户中金额转账无疑属于业务问题,但是在追求效率的今天,手工银行转账时代需要通过记账方式实现,而今有了大型数据库则成为非常快速瞬间的事情。但是且慢,非常快速是如何快速?是一秒之内还是一眨眼?一眨眼是多少秒?这个账户前一秒减去一万元,那个账户后一秒就增加一万元?这种实时一致性背后有什么机制?
CAP机制,两个账户金额变动的延迟越小,说明一致性越高,但是有时我们真的需要这种一秒或几毫秒之内的高实时一致性吗?这还会金额诈骗提供方便了呢!
所有这些考量都要取决于业务上下文,实际上现实中也不存在瞬间转账的场景需求。这会为洗钱监控带来不便。
因此,如果纯粹从技术角度通过分布式事务中间件或数据库来解决转账问题,就陷入技术至上的误区,这些技术至上的人会推崇分布式事务,而认为DDD等业务分析设计方式是屠龙宝刀,实际上相反,分布式事务才可能最是屠龙宝刀,神话一样存在,但是没有使用价值和场景。
当然,这里不想陷入算法技术和业务解决方案的无休止争论中,这是长期两种思维模型而已。
那么使用业务方法如何解决转账问题?这里也不详细讨论,主要从领域事件事件溯源角度去考虑,也有使用区块链这种方式,为什么我说区块链会摧毁中心化的分布式事务组件技术?因为现有分布式事务机制无论如何分布,都是基于一个信任中心下的分布,不是真正基于不信任的分散,方向完全不同。
江山易改,思维难移,本文目的无非是如果你遭遇转账之类问题,首先业务战略高度去想想,而不是被神话技术忽悠主导。
相关:

分布式事务可能是个伪概念

推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 【回顾】聚焦DTCC | 巨杉数据库与您相约DTCC 数据库技术大会
    2018年5月10-12日,第九届中国数据库技术大会(DTCC2018)将以“数领先机•智赢未来”为主题,设定2大主会场及20个技术专场,邀请来自国内外互联网、金融、教育等行业百余 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 2018年数字化转型调查
    PointSource发布了2018年数字化转型调查,主要发现包括:1、由于缺乏战略,企业迫切需要进行数字化转型。2、企业急于开始数字化转型过程,但他们缺乏进行智能投资的战 ... [详细]
author-avatar
新人缓冲
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有