多大厂才能用到分布式事务

2020-08-21 16:18:47 +08:00
 brucefu

好像引战贴 /狗头

7520 次点击
所在节点    Java
40 条回复
tiedan
2020-08-21 16:24:14 +08:00
看具体业务
john22eclipse
2020-08-21 16:24:37 +08:00
面试时用到
realpg
2020-08-21 16:24:48 +08:00
一个人的小破玩具项目,正在迁移支持分布式事务的数据库平台
kidlj
2020-08-21 16:29:42 +08:00
一个人的小破玩具项目,打算用 CockroachDB 。部署在 K8S 上太方便了,一行命令。
nozer
2020-08-21 16:31:31 +08:00
重试、补偿。
Jooooooooo
2020-08-21 16:32:38 +08:00
不用

最终一致是王道
skypyb
2020-08-21 17:57:14 +08:00
一个人写想怎么用怎么用
defage
2020-08-21 18:10:43 +08:00
要嘛 db 层直接解决了。要嘛就 BASE,最终一致性。

程序内折腾分布式事务是个大坑,别看阿里开源了各种 tcc,tcc plus 。真实情况没几个用的,玩死团队会。
Cbdy
2020-08-21 18:27:24 +08:00
分布式事务可以交给分布式数据库实现,大小厂都可以用这种数据库吧
shm7
2020-08-21 19:21:00 +08:00
12306 春节抢票那种
xuanbg
2020-08-21 19:24:06 +08:00
多大厂也不会全面使用分布式事务。不是被逼得没办法,谁会去做坑死人的分布式事务。
limboMu
2020-08-21 19:26:54 +08:00
ddia 中说过了,分布式事务是个有意思的研究,不过要运用到实际的开发,还需要研究更高效的协议,目前的分布式事务解决方案,运维开销有点大,不如老老实实设计好表结构避免分布式事务
littlewing
2020-08-21 19:30:28 +08:00
楼上正解
某国内大厂员工表示核心业务并没有使用分布式事物,原因是多方面的吧:做好很难,并不是强需求,并不是高优需求,性能问题(最终业务可能还是会尽可能避免使用)
littlewing
2020-08-21 19:32:43 +08:00
@defage 正是因为 mysql 分库分表之后,在 DB/Proxy 上实现分布式事物很难,所以阿里才有了各种在程序内实现的补偿事物,但不管怎样,分布式事物就是个大坑
chihiro2014
2020-08-21 20:44:36 +08:00
真正能用好的没几个。基本都不会去大范围使用
cinlen
2020-08-22 01:21:29 +08:00
蹲一下大厂的朋友回复。我司用的是肉偿法听说过没有,就是人肉补偿事务。
maigebaoer
2020-08-22 01:23:58 +08:00
@cinlen 讲道理,这很实用
TypeError
2020-08-22 02:02:43 +08:00
某中厂,涉及钱的核心业务也是 mq 重拾补偿
cassyfar
2020-08-22 03:51:21 +08:00
multi-phase commit 用到了很多。

另外我觉得 nosql DB 的 transaction 都得尊重这个来实现。我记得 DynamoDB transaction 是把所有 event 先记录进 log,然后一条条执行,出错就倒着回滚。

不过 TCC 我确实没见过。
594duck
2020-08-22 09:04:16 +08:00
对大部份业务来说与其说多大厂,还不如说有多作,对就是有多作。

你真要说分布式事务适合哪个厂,还不如说适合哪个业务,比如微博这种,纯文字信息流,没时实要求,天生适合 KV 的就适合。还有就是比如广告统计业务。Social 业务适合,那是可以的。

你要说物流系统,工业生产系统,ERP,CRM,OA,财务系统,电商系统,金融系统 etc... 这些适合不适合。 要作,那也能上。CAP 原则 里看扔掉哪二个呗。

所以这也是为什么到 2020 年了,Microsoft SQLSERVER 和 Oracle 这种公司活的美滋滋的原因。

也就中国 13 亿人口基数折腾的动,放其它国家 TCO 一算,全部走商业数据库了。

我有句名言,天下苦 MYSQL 久矣。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/700304

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX