V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  justRua  ›  全部回复第 1 页 / 共 4 页
回复总数  80
1  2  3  4  
是不是可以把加钱、扣钱两个动作区分对待,扣钱失败的场景一般是用户余额不足之类的业务异常需要立马回滚事务,但是加钱失败则可能是出现锁竞争、网络之类的系统异常导致,重试就好了不需要回滚整个事务,可以适当延迟。

用户余额加钱逻辑:
1.写入账户流水;
2.发送 MQ ,流水表加一个同步状态字段。
后面异步执行:
3.用消费者根据 MQ 消息去扫描流水表、批量的把多个加钱的记录金额合并为一个 update 操作用户余额,把同步状态更新为已同步。

查看用户余额逻辑:
查询用户余额表 + 流水表未同步的记录金额

扣钱逻辑不变,但可能出现扣钱时,余额还没加上流水表未同步的加钱金额,导致余额不足扣钱失败,应该也还好。
10 天前
回复了 sunshine0204 创建的主题 职场话题 我应该是病了,麻烦给我点建议
没得选就去,反正实习而已,主要是积累经验,为你后面找工作做积累
102 天前
回复了 subwin 创建的主题 职场话题 35 岁真的是程序员的大限吗?
35 岁找找应该还是有希望的,非互联网开发应该还行,40 岁纯开发就比较难了,真心没见过 40 岁以上的普通开发同事
112 天前
回复了 huhu222 创建的主题 职场话题 在公司不爱说话是什么体验
想着完全凭技术吃饭, 不指着一家公司活。那你技术上至少在组里要能排的上号,遇到问题要主动挺身而出,要给你的 leader 有个好印象,至少要觉的你人靠谱虽然话不多,其实做到这样也可以了。否则你工作能力一般,对其他人又冷漠,真的很容易被劝退,路上打招呼这个,至少组内的同事和你的 leader 还是要的吧,其他没什么交集的当没看见就行
类分布式锁的一个场景,回调轮询都可以,如果实时性要求和请求量都不大轮询也没毛病。回调可以参考 zookeeper 的 watcher 机制
349 天前
回复了 Saitama 创建的主题 程序员 金蝶 ERM 是一坨大粪还是我是大粪。
@fxxkingduck 老师好
2023-04-17 09:44:25 +08:00
回复了 wellR 创建的主题 Java 在 SpringBoot 中使用 Netty 的思路,偷梁换柱之计
有现成的 grpc-spring-boot-starter ,协议是 grpc ,实现是 netty
2023-03-20 09:43:15 +08:00
回复了 fenranaab 创建的主题 程序员 关于工作无意失误,造成公司损失的疑问请教大家
有责任,但不是全责,代码是经过测试、review 的,责任是大家的,没必要全往自己身上揽,如果最后全怪你只能说明这个公司很 low 。以前公司百万日活,支付代码有问题,导致异常提现了几十万,后面是追回一部分,就这样也没见要谁负全责的,大家复盘以后避免就是了。
2022-11-18 10:15:22 +08:00
回复了 Dogod37 创建的主题 Java 系统架构设计求解惑
如果流量不大属实没什么必要切分,分开后你要多处理各种异常情况,后续如果有新增什么复杂功能你可以提议新增一个服务避免影响旧服务。
2022-11-18 10:11:19 +08:00
回复了 Dogod37 创建的主题 Java 系统架构设计求解惑
要明白服务切分的意义。例如隔离影响、方便服务扩展和加机器。
2022-10-31 09:45:54 +08:00
回复了 Joker123456789 创建的主题 Java 为什么就是没有人愿意升级到最新的 JDK?
新项目可以直接用最新的,老项目真的没必要,jdk 模块化是有破坏性的,一些旧点版本的框架没有适配升级,不加--add-opens 根本跑不起来
2022-10-27 09:46:35 +08:00
回复了 itechnology 创建的主题 程序员 被刚转正的测试弄的不厌其烦,求各位支支招
说明人家负责,我们这测试都会看你代码,测试环境有问题人家自己先看日志,然后跟你说代码 xxx 这一行是不是有问题。。。
用个 NIO 实现的异步 http client 的做就行了吧,就像 webflux ,IO 异步调用不需要太多的线程
2022-08-22 09:44:02 +08:00
回复了 Diod 创建的主题 程序员 坐标深圳找 Java 开发都那么难的吗
感觉已经不错了,高并发优化的那个可以在下面项目里面展开,例如提升性能多少。项目经历可以写的丰富些,多些可以量化的指标。其实主要就是现在不缺人。
2022-06-15 19:53:28 +08:00
回复了 zhongpingjing 创建的主题 Java 实现 ApplicationContextAware 接口, ApplicationContext 为 null 问题
本地 debug 可以但是打包后不行,可能是打的包有问题,可以远程 debug 看看启动时会不会进 setApplicationContext
2022-05-25 18:53:16 +08:00
回复了 justRua 创建的主题 问与答 shell 脚本的字符串中包含的变量要怎么才能被解析
@privil 谢谢啦,试了下确实可以,之前有想过用 eval ,但搜了下网上的例子用不了
换了个姿势试了试可以了,eval_opts=`eval echo "$opts"`
这样写$opts 中的${TEMP_DIR}会被解析到,此贴完结。。。
2022-01-17 10:13:31 +08:00
回复了 onice 创建的主题 程序员 奉劝大家工作期间要多喝水
疫情刚开始过完年那会儿,在家办公好几月,有事无事就喝瓶可乐,有一天腹部巨疼,后来发现是结石,应该很小,那几天狂喝水排出去了,真的疼怕了。
2022-01-13 10:29:56 +08:00
回复了 ljinkai 创建的主题 程序员 2021 年的副业尝试,多做点有长期价值的事
很厉害了
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2772 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 12:12 · PVG 20:12 · LAX 05:12 · JFK 08:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.