2019独角兽企业重金招聘Python工程师标准>>>

所谓幂等性,简单得理解可以认为多次相同参数的调用返回同样的结果

  1. 查询类

纯天然支持幂等性,多次调用均返回同样的结果。

  1. 更新类 幂等性的控制主要是在服务提供方进行控制,当然服务调用方也可以进行一些简单的控制,比如 failback(失败立即返回),页面防止重复调用等。

在服务调用方的完整解决方案可以这么来:

调用方每次调用均需传一个唯一的调用流水tradeid。服务提供方每次拿到该流水都去redis查询是否有该流水,若有该流水证明已调用过,直接返回缓存结果。若不存在则将该tradeid存入redis,并设置有效期。    调用方每次调用均需传一个唯一的调用流水tradeid。服务提供方每次拿到该流水都去redis查询是否有该流水,若有该流水证明已调用过,直接返回缓存结果。若不存在则将该tradeid存入redis,并设置有效期。

其次,有些调用流水是需要长时间保持一致,这时候可以将该tradeid。作为唯一性索引入库,若存在了,那么肯定插不进去。这是第二重保证。

关于结果缓存:可以分成多级缓存,JVM,REDIS,然后直接查库。

幂等性的实现:可以考虑在中间层操作实现,比如Dubbo的filter。。先获取具体的调用流水,去查询。若存在则查询缓存或者直接查库返回结果

转载于:https://my.oschina.net/u/3691499/blog/3027631

关于幂等性的解决方案相关推荐

  1. java幂等性的解决方案

    java幂等性的解决方案 参考文章: (1)java幂等性的解决方案 (2)https://www.cnblogs.com/xinruyi/p/11441818.html (3)https://www ...

  2. 线上故障之-redis锁处理幂等性失效和幂等性问题解决方案

    线上故障之-redis锁处理幂等性失效和幂等性问题解决方案 redis锁处理幂等性失效 事务传播bug try bug 幂等性设计方法 1. insert前先select 2. 加悲观锁 3. 加乐观 ...

  3. Java接口幂等性多种解决方案

    Java接口幂等性的解决方案: java 语音中,同一个接口相同的参数多次和一次请求产生的效果是一样,这样的过程即被称为满足幂等性 //这中情况无论执行多少次,结果都不受影响,是幂等的. update ...

  4. 幂等性 第三方交易编号_java幂等性的解决方案

    一.幂等性概念 在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同.幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数.这些函数不会影响系统状态,也 ...

  5. 接口幂等性问题解决方案

    https://blog.csdn.net/const_/article/details/104968727 https://blog.csdn.net/qq_44622763/article/det ...

  6. 什么是幂等性、幂等性解决方案

    一.什么是幂等性 幂等性是一个技术术语.类似鉴权.都有一堆的解决方案 二.什么情况需要幂等 业务开发中,经常会遇到重复提交的情况,无论是由于网络问题无法收到请求结果而重新发起请求,或是前端的操作抖动而 ...

  7. 幂等性问题与解决方案

    幂等性问题与解决方案 摘要 幂等概念来自数学,表示N次变换和1次变换的结果是相同的.这里讨论在某些场景下,客户端在调用服务没有达到预期结果时,会进行多次调用,为避免多次重复的调用对服务资源产生副作用, ...

  8. 点一下按钮调两次接口?浅谈接口设计的幂等性

    作者 l 会点代码的大叔(CodeDaShu) 在单体架构时代,就存在着接口幂等性的问题,只不过到了分布式.高并发的场景之后,接口幂等性的问题会更加明显. 01 幂等性的概念 那么什么是幂等性呢? 当 ...

  9. 深入理解Java幂等性

    深入理解Java幂等性 1. 概念理解 幂等:是一个数学概念,表示N次变换和1次变换的结果相同. 幂等操作:其特点是任意多次执行所产生的影响均与一次执行的影响相同(不会改变资源状态,对数据没有副作用) ...

最新文章

  1. json文本装换为JSONArray
  2. SAP ABAP一组关键字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析
  3. java paint调用,求教 如何调用这个paint
  4. 利用python将excel数据导入mySQL
  5. phpstudy_pro MySQL启动失败的原因
  6. 打印zigzag矩阵
  7. 超详解读:垃圾回收机制 | 原力计划
  8. 绘制自己组合的k线图_史上最全K线图大全:搞懂70种K线组合形态,轻松低买高卖不踏空...
  9. Linux宝库快讯 | OpenInfra中国日正式确定会议合作方
  10. 2019年大学计算机基础题库,大学计算机基础考试题库(含答案)
  11. 佳能Canon imageCLASS MF210 Series 打印机驱动
  12. 【洛谷1137】旅行计划【拓扑排序模板】
  13. 净利大涨13倍,“缺芯”后的士兰微要如何不“躺平”?
  14. 生活在压力下不得不读的好书---《此生未完成》读后感
  15. 《21天学通C++(第五版)》 [美] Jesse Liberty Bradley Jones著——个人学习笔记
  16. 一文告诉你,SIMULIA/Abaqus究竟有多强大
  17. 小米汽车设计图纸泄露,官方称非最终文件;微软裁员遣散费高达8亿美元,人均获赔54万元;苹果暂停自研Wi-Fi芯片|极客头条...
  18. java 生成纯色图片_java实现切图并且判断图片是不是纯色/彩色图片
  19. 【视觉SLAM入门】一些关于视觉SLAM十四讲的重要基础概念
  20. VisionPro联合C#编程,康耐视cognex

热门文章

  1. 阻塞io阻塞io_Redis:RESP协议,阻塞IO 与非阻塞IO,Redis的线程模型
  2. cx oracle6 oracle10,python安装cx_Oracle
  3. python使用openpyxl读取数据_Python-openpyxl读取和写入数据1
  4. svn文件夹不显示绿色勾的解决方法
  5. 06-1. 简单计算器(20)
  6. linux 从行查看文件,linux 查看文件内容
  7. react 日期怎么格式化_手写React的Fiber架构,深入理解其原理
  8. 监控操作系统和服务器,监控操作系统和服务器
  9. 2021年春季学期-信号与系统-第九次作业参考答案-第六小题
  10. 历届智能车哪个组别最难,哪个竞争最激烈?