面试题 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题? 面试官心理分析 这个是肯定的,用 MQ 有个基本原则,就是 数据不能多一条,也不能少一条 ,不能多,就是前面说的 "重复消费和幂等性问题" 。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。 如果说你这个是用 MQ 来传递 ...
分类:
其他好文 时间:
2019-09-21 17:11:05
阅读次数:
94
主题: 支付类幂等性测试分享 HI all: 最近在测试扫码支付的时候,尝试测试了支付接口的幂等性,结合实例和网上资料一并分享给大家。 幂等性概念 数学中的定义:其任意多次执行所产生的影响均与一次执行的影响相同。比如f(f(x)) = f(x). HTTP协议中的定义:在HTTP/1.1规范中幂等性 ...
分类:
其他好文 时间:
2019-09-19 12:30:52
阅读次数:
481
HTTP1.1中对幂等性的定义是:一次和多次请求某一资源对资源本身应该具有相同的结果(网络超时等问题除外)也就是说,其任意多次执行对资源本身产生的影响均与依次执行的影响相同。 有几个需要注意的点: (1)幂等不仅仅只是一次(或多次)请求对资源没有副作用,(比如查询数据库操作,没有增删改,因此对数据库 ...
分类:
其他好文 时间:
2019-09-14 22:13:13
阅读次数:
96
1、为什么要用消息队列 解耦、异步、削峰 2、使用消息队列有什么缺点 3、RocketMQ和ActiveMQ的区别 4、MQ能否保证消息必达,即消息的可靠性(如何处理消息丢失的问题)? 5、如何保证消息不被重复消费啊(如何保证消息消费时的幂等性)? 6、如何保证消息的顺序性? 7、如何解决消息队列的 ...
分类:
其他好文 时间:
2019-09-07 22:07:29
阅读次数:
90
文章目录 1. 什么是幂等性?1.1 消息队列的幂等性1.2 模拟重试机制1.2.1 生产者代码1.2.2 消费者代码1.2.3 消费者 application.yml 配置2. 如何保证消息幂等性,不被重复消费?解决方法 1. 什么是幂等性? 在编程中一个幂等操作的特点是其任意多次执行所产生的影响 ...
分类:
其他好文 时间:
2019-09-05 00:39:06
阅读次数:
139
关于重试 开发中经常要调用其他项目提供的Api,这些Api可能是同公司其他团队或其他公司提供的,所以避免不了会出现网络抖动调用失败的情况,这种情况下往往重试一次就正常了。对于add或update操作,如果是非幂等性操作,要谨慎使用,重试可能会造成业务异常。 可以使用apache HttpClient ...
分类:
编程语言 时间:
2019-09-01 14:28:59
阅读次数:
97
摘自:https://www.cnblogs.com/baizhanshi/p/10449306.html 一、幂等性概念 在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统 ...
分类:
编程语言 时间:
2019-09-01 12:51:34
阅读次数:
102
内部因素:编码方式,报文 外部因素:缓存[浏览器],长度限制[浏览器],请求次数[浏览器],幂等性/副作用[接口] 安全性 参数编码 get:仅支持url编码,参数需要编码和解码 post:多种编码方式 报文 get:参数放在url post:参数放在请求体 缓存 get请求会被 浏览器 缓存 po ...
分类:
Web程序 时间:
2019-08-26 15:12:10
阅读次数:
102
https://www.cnblogs.com/huaixiaonian/p/9577567.html 最近跟朋友聊起这个话题,想深入了解下,于是学习总结,记录下来,此文章参考以下博客综合而来表示感谢: http://blog.brucefeng.info/post/api-idempotent h ...
分类:
其他好文 时间:
2019-08-25 12:29:04
阅读次数:
82
摘自:https://www.cnblogs.com/javalyy/p/8882144.html 什么是幂等性 HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。 ...
分类:
其他好文 时间:
2019-08-24 00:44:27
阅读次数:
109