| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 基于Redis&MySQL接口幂等性设计 -> 正文阅读 |
|
[大数据]基于Redis&MySQL接口幂等性设计 |
1、幂等幂等性即多次调用接口或方法不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。 2、幂等使用场景前端重复提交 用户注册、创建商品、提交订单、转账、支付等操作,前端都会提交一些数据给后台服务,后台需要根据用户提交的数据在数据库中创建记录。如果用户不小心多点了几次,后端收到了好几次提交,这时就会在数据库中重复创建了多条记录。这就是接口没有幂等性带来的bug。 接口超时重试 对于给第三方调用的接口,有可能会因为网络原因而调用失败,这种情况一般在设计的时候会对接口调用加上失败重试的机制,如果第一次调用已经执行了一半时发生了网络异常,这时再次调用时就会因为脏数据的存在而出现调用异常。 消息重复消费 3、解决方案基于Token 通过token 机制实现接口的幂等性,是一种比较通用性的实现方法。 具体流程步骤:
基于MySQL 基于MySQL实现方式是利用了 mysql 唯一索引的特性。 具体流程步骤:
基于Redis 基于Redis是利用了 SETNX 命令实现的。 SETNX key value:将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。 该命令在设置成功时返回 1,设置失败时返回 0。 具体流程步骤:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 14:26:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |