giantreaper0 最近的时间轴更新
giantreaper0

giantreaper0

V2EX 第 571955 号会员,加入于 2022-02-07 11:37:44 +08:00
giantreaper0 最近回复了
不建议小项目上微服务,甚至中型项目也没必要上微服务,完全可以一套代码部署多个副本,通过 nginx 路由规则分流做业务,分布式事务是一个头疼的问题,市面上没有一个框架做得好的
我们直接干 24 虚拟线程去了
@hancai2 jelinks 或者 gitlab ci 只是 CI ,跟 argoCD 的 CD 没有冲突
CI/CD 负责打镜像,然后使用 kustomize 修改 deployment.yml 的镜像版本号,最后 git 提交,发版的时候在 argocd 上点一下同步发布
argocd
146 天前
回复了 cinlen 创建的主题 程序员 请教后端们关于分布式事务的实践
我司的 TCC 实践有
1. 用 TCC 实现库存的增减、锁库
2. 有一些用数据库实现的任务队列,然后有定时任务轮训查询去执行任务会有一些数据其实还在全局事务进行中,但由于没有本地事务会导致也能查出来,这时候就需要利用 TCC ,在二阶段提交的时候将 "global_tx_commited" 设置为 1 ,定时任务只查询 global_tx_commited = 1 的任务
146 天前
回复了 cinlen 创建的主题 程序员 请教后端们关于分布式事务的实践
@v2exgo 可以的,我个人的理解 AT 就是 seata 帮你实现的通用型 TCC
148 天前
回复了 cinlen 创建的主题 程序员 请教后端们关于分布式事务的实践
- 简单介绍一下我对 AT 的理解,就是在这个模式下,你等于无数据库的原生事务去执行,也就是你的每一条 sql 都会立即落库,如果发生了回滚,seata 有一份修改前的镜像用来回滚。
- 这时候你就会问那回滚的时候被别的业务修改了怎么办,seata 会根据主键有一个全局锁,如果多个分布式(加粗)事务同时修改同一行能正常阻塞等待,因此这里就是有坑,代码那么多总会有只开了本地事务没开分布式事务的情况,这时候 seata 就会回滚失败,然后人工处理
- 同时我司某些表还存在近似于全表删除的业务,这种情况下有可能甚至把 seata-server 直接打挂
148 天前
回复了 cinlen 创建的主题 程序员 请教后端们关于分布式事务的实践
我司用的就是 seata 的 AT + TCC ,用他是因为这个项目最初就有而且是老前辈们手写出来的,已经屎山了。总结下来就是能不用就不用分布式事务,只要模块拆分的够好绝大部分情况是不需要的,少部分需要的用消息队列做
201 天前
回复了 giantreaper0 创建的主题 macOS 已升级 15.1.1, iPhone 镜像依旧内存泄露
15.2 已修复
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   998 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 22:18 · PVG 06:18 · LAX 15:18 · JFK 18:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.