博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
etcd锁释放超时导致的数据不一致性
阅读量:4141 次
发布时间:2019-05-25

本文共 291 字,大约阅读时间需要 1 分钟。

      服务端代码:

func proc() {		begin lock	   begin transaction            amount := queryAmountFromDb()            amount += req.OrderAmount            setToDb(amount)	   end transaction  // 正常结束	end lock  // 这里是etcd锁,释放的时候,超时了 }

       于是乎, 在客户端显示超时, 客户端不知道实际是成功还是失败, 只知道超时, 客户端可以同步/异步重试。 服务端要做到幂等性处理。

      不多说。

转载地址:http://cfrvi.baihongyu.com/

你可能感兴趣的文章
88. Merge Sorted Array(easy)
查看>>
leetcode刷题191 位1的个数 Number of 1 Bits(简单) Python Java
查看>>
leetcode刷题198 打家劫舍 House Robber(简单) Python Java
查看>>
NG深度学习第一门课作业2 通过一个隐藏层的神经网络来做平面数据的分类
查看>>
leetcode刷题234 回文链表 Palindrome Linked List(简单) Python Java
查看>>
NG深度学习第二门课作业1-1 深度学习的实践
查看>>
Ubuntu下安装Qt
查看>>
Qt札记
查看>>
我的vimrc和gvimrc配置
查看>>
hdu 4280
查看>>
禁止使用类的copy构造函数和赋值操作符
查看>>
C++学习路线
查看>>
私有构造函数
查看>>
组队总结
查看>>
TitledBorder 设置JPanel边框
查看>>
DBCP——开源组件 的使用
查看>>
抓包工具
查看>>
海量数据相似度计算之simhash和海明距离
查看>>
DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)
查看>>
DeepLearning tutorial(6)易用的深度学习框架Keras简介
查看>>