架构成长指南

  • 首页
  • prometheus
  • 云原生
  • 关于
并发设计
数据库

mysql for update是锁表还是锁行

在并发一致性控制场景中,我们常常用for update悲观锁来进行一致性的保证,但是如果不了解它的机制,就进行使用,很容易出现事故,比如for update进行了锁表导致其他请求只能等待,从而拖垮系统,因此了解它的原理是非常必要的,下面我们通过一系列示例进行测试,来看看到底是什么场景下锁表什么场景下锁行 验证 示例说明 创建一个账户表,插入基础数据,以唯一索引、普通索引、主键、普通字段4 个维度进行select ... for update查询,查看是进行锁表还是锁行 表创建 创建一个账户表,指定account_n…

2024年3月12日 0条评论 2604点热度 18人点赞 蜗牛 阅读全文
并发设计

高并发扣款,如何保证结果一致性

在金融系统中,我们会跟钱打交道,而保证在高并发下场景下,对账户余额操作的一致性,是非常重要的,如果代码写的时候没考虑并发一致性,就会导致资损,本人在金融行业干了 8 年多,对这块稍微有点经验,所以这篇聊一下,如何在并发场景下,保证账户余额的一致性 1. 扣款流程是什么样的? public void payout(long uid,var payAmount){ # 查询账户总额 var amount= "SELECT amount FROM account WHERE uid=$uid"; # 计算账户余额 var…

2024年1月10日 0条评论 1606点热度 1人点赞 蜗牛 阅读全文

蜗牛

大家好,我是蜗牛哥,工作11年的老司机,目前在某头部跨国外企担任基础架构负责人,除了正常工作外,写写技术文章把遇到的一些坑和一些经验分享出来,主要语言JAVA,擅长基础架构与中间件开发,目前主攻方向云原生

我的公众号
最新 热点 随机
最新 热点 随机
30年蜕变:Java 虚拟线程的前世今生 分布式事务解决方案:深入理解TCC模式 mysql for update是锁表还是锁行 在本地就能使用的k8s轻量级日志工具分享 k8s本地测试联调工具KtConnect介绍 基于Doris构建亿级数据实时数据分析系统
生产级K8S监控告警方案 5 分钟快速尝鲜Loki 阿里开源的数据同步利器DataX介绍 什么是Helm?它是如何提升云原生应用私有化部署效率的 在本地就能使用的k8s轻量级日志工具分享 基于Doris构建亿级数据实时数据分析系统
归档
  • 2024年12月 / 2篇
  • 2024年3月 / 1篇
  • 2024年2月 / 5篇
  • 2024年1月 / 14篇
  • 2023年12月 / 2篇

COPYRIGHT © 2023 架构成长指南. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备2023043681号-1