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

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

相关推荐
源图客6 小时前
Spark读取MySQL数据库表
数据库·mysql·spark
xiucai_cs8 小时前
MySQL深分页慢问题及性能优化
数据库·mysql·性能优化·深分页
当牛作馬8 小时前
ES常用查询命令
数据库·mysql·elasticsearch
蝎子莱莱爱打怪8 小时前
Hadoop3.3.5、Hbase2.6.1 集群搭建&Phoenix使用记录
大数据·后端·hbase
David爱编程8 小时前
并发编程三大特性全解析:原子性、可见性、有序性,一文讲透!
java·后端
Sally璐璐8 小时前
Go语言变量声明与初始化详解
java·开发语言·golang
你的人类朋友9 小时前
git常见操作整理(持续更新)
前端·git·后端
你的人类朋友9 小时前
git中的Fast-Forward是什么?
前端·git·后端
黑客影儿10 小时前
Go特有的安全漏洞及渗透测试利用方法(通俗易懂)
开发语言·后端·安全·web安全·网络安全·golang·系统安全
hzp66610 小时前
阿里云的centos8 服务器安装MySQL 8.0
mysql·阿里云·centos8