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

  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+缓冲通道

相关推荐
hxung3 分钟前
MySQL面试学习
学习·mysql·面试
ybq1951334543119 分钟前
javaEE-SpringBoot日志
java·spring boot·后端
Villiam_AY25 分钟前
goredis常见基础命令
redis·golang
PyAIGCMaster26 分钟前
50周学习go语言:第四周 函数与错误处理深度解析
开发语言·学习·golang
PyAIGCMaster29 分钟前
第二周补充:Go语言中&取地址符与fmt函数详解
开发语言·后端·golang
Dongwoo Jeong31 分钟前
缓存基础解释与缓存友好型编程基础
后端·c·cache·cache friendly
Gy-1-__37 分钟前
【springcloud】快速搭建一套分布式服务springcloudalibaba(一)
后端·spring·spring cloud
莳花微语39 分钟前
使用MyCAT实现分布式MySQL双主架构
分布式·mysql·架构
硬件人某某某44 分钟前
基于Django的手办交易平台~源码
后端·python·django
he258191 小时前
centOS 7.9 安装JDK MYSQL
java·mysql·centos