消息中间件
解决的问题
扩展:幂等处理
- 幂等概念:属于数学与计算学概念。指同一个操作,一次和多次执行的结果都是一样的。
- 如前端表单的提交、同一支付请求、同一个订单创建请求等都需要幂等。
- 数据库的查询、删除操作是天然幂等的。
- 实现方案
- 唯一索引,用户-资金账户。
- tocken机制,防止页面重复提交,要求页面的数据只能被点击一次。发送原因:由于重复提交或nginx重发等情况会导致数据被重复提交。
- 解决:集群:token +redis
- 单JVM:token +redis或者token+JVM内存
- select + insert(简单)
- 悲观锁
- 乐观锁
- 通过版本号
- 通过限制条件
- ps最好主键或唯一索引更改是行锁,否则是表锁
- 分布式锁
- 构建全局唯一字段(、雪花算法)
- 唯一索引,用户-资金账户。