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

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

相关推荐
earthzhang20218 分钟前
第3讲:Go垃圾回收机制与性能优化
开发语言·jvm·数据结构·后端·性能优化·golang
apocelipes38 分钟前
golang unique包和字符串内部化
java·python·性能优化·golang
thinktik2 小时前
AWS EKS 集成Load Balancer Controller 对外暴露互联网可访问API [AWS 中国宁夏区]
后端·kubernetes·aws
-雷阵雨-3 小时前
MySQL——桥梁JDBC
数据库·mysql·oracle
追逐时光者3 小时前
将 EasySQLite 解决方案文件格式从 .sln 升级为更简洁的 .slnx
后端·.net
驰羽3 小时前
[GO]GORM 常用 Tag 速查手册
开发语言·后端·golang
AntBlack4 小时前
虽迟但到 :盘一盘 SpringAI 现在发展得怎么样了?
后端·spring·openai
ss2735 小时前
手写Spring第4弹: Spring框架进化论:15年技术变迁:从XML配置到响应式编程的演进之路
xml·java·开发语言·后端·spring
JanelSirry5 小时前
MySQL分区表(PARTITION):水平分表示例 (基于用户ID哈希分表)不依赖第三方中间件
mysql·中间件·哈希算法
李白你好5 小时前
一款专业的多数据库安全评估工具,支持 **PostgreSQL、MySQL、Redis、MSSQL** 等多种数据库的后渗透操作
数据库·mysql·postgresql