工作中遇到的问题,如何解决的

  1. gorm update 一条记录的某个字段后,立刻(1ms)select这条记录,会有读取不到最新结果的情况:

transaction已经提交,数据最后也是更新的。

猜测原因:MySQL没能及时把那条很大的record"刷盘"到磁盘

TODO:了解MySQL更新record 字段的流程和原理。

解决方法:1. 每次update后手动延迟一定时间;2. 修改技术方案,避免单个field过大

DBA:使用了DAL中间件,update是master库,select是从库。-->强制读主库。

  1. 主协程退出,子协程全部退出的原理

  2. consumer处理业务逻辑超时,如何处理

使用超时context;ratelimiter+缓冲通道

相关推荐
csdn_aspnet11 分钟前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
一条Go13 分钟前
接收方合并去重:同一个人为什么只该收到一次通知
后端·架构·github
张一凡931 小时前
给 Coding Agent 加一道"架构闸门":Jin 是如何做到"先审架构、再写代码、不漂移"的
前端·后端·agent
Jvav练习生1 小时前
AI Agent 总在关键时刻“失忆”翻车?一文讲透上下文工程(附可运行 Python 代码)
后端
leo在掘金1 小时前
只挂了11小时,5000台开发机被塞进SSH公钥
后端·架构
xjz18421 小时前
Rust 运算符优先级:括号不只用来改变顺序
后端
写码跑山的老艾1 小时前
为什么有了 MySQL,还要 Redis 和 Elasticsearch?从一件商品看数据系统的权衡
后端
对象存储与RustFS1 小时前
Jenkins 的构建产物别堆在控制器磁盘:用 RustFS 当它的 S3 工件仓库
后端·docker·云原生
王中阳Go1 小时前
100 件货卖出 116 件,库存停在 -16
后端·mysql·go