1. 什么时候需要实现幂等性接口? 在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。既然是这样我们的查询和删除不就是多次执行的结果和一次执行的相同吗。是的,查询和删除拥有天然的幂等性,当然删除这个第一次执行和后面执行的返回值可能会有所不同,但是最终的效果是一致的。所以需 ...
分类:
其他好文 时间:
2019-06-25 00:31:26
阅读次数:
146
一、介绍 互联网的应用场景中,为了支持高并发的请求,服务都是执行的分布式部署,相同的任务可以在集群中不同的服务器上执行,并且现在的服务容器都是支持多线程,相同的任务也可能会被同一个容器多次执行,都要求执行结果都满足幂等性的设计原则。 分布式锁,就是为了确保在分布式的环境下,相同任务只会执行成功的执行 ...
分类:
其他好文 时间:
2019-06-14 01:14:30
阅读次数:
171
场景:用户重复交易,即同一笔订单号不断支付或充值。 做法: 一般的做法是,在交易接口中,首先查询数据库是否有该笔流水。如果有则返回重复支付,否则放行。 但是,这样的接口违反了“单一职能原则”,对数据库冲击很大,而且修改业务后可能会带来bug隐患。 可这样做: 其他做法: 服务层:修改/删除,用乐观锁 ...
分类:
其他好文 时间:
2019-06-07 10:43:54
阅读次数:
89
业务场景 公司有个借贷的项目,具体业务类似于阿里的蚂蚁借呗,用户在平台上借款,然后规定一个到期时间,在该时间内用户需将借款还清并收取一定的手续费,如果规定时间逾期未还上,则会产生滞纳金。 用户发起借款因此会产生一笔借款订单,用户可通过支付宝或在系统中绑定银行卡到期自动扣款等方式进行还款。还款流程都走 ...
分类:
其他好文 时间:
2019-05-29 00:00:55
阅读次数:
181
在上一篇文章讲解MQ消息可靠性投递和幂等性中有提到confirm机制的重要性,现在更相信的说明一下 一、Confirm机制 Confirm就是消息确认,当Producer发送消息,如果Broker收到消息,会回复一个应答,我们可以以此来确认消息是否成功送达,是保证 消息可靠性投递的核心保障 Prod ...
分类:
其他好文 时间:
2019-05-24 18:59:08
阅读次数:
106
一、MQ消息发送 1、发送端MQ-client(消息生产者:Producer)将消息发送给MQ-server; 2、MQ-server将消息落地; 3、MQ-server回ACK给MQ-client(Producer); 4、MQ-server将消息发送给消息接受端MQ-client(消息消费者:C ...
分类:
其他好文 时间:
2019-05-23 22:44:49
阅读次数:
134
1.幂等性 幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。 在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些 "函数" 不会影响系统状态,也 ...
分类:
其他好文 时间:
2019-05-22 22:33:30
阅读次数:
196
分区类型..........GPT:只支持主分区..........MBR:..............主分区:一块硬盘最多四个,安装os,只有一个是激活主分区,1-4..............扩展分区:一块硬盘最多一个,不可以直接存数据,划分成更小的分区1-4...............逻辑分区:在扩展分区内的更小分区单位5。。。Linux基本分区模式........../dev/sda20
分类:
系统相关 时间:
2019-05-19 20:39:37
阅读次数:
197
一.REST起源REST(Representational State Transfer)表象化状态转变(表述性状态转变),在2000年被提出,基于HTTP、URI、XML、JSON等标准和协议,支持轻量级、跨平台、跨语言的架构设计。是Web服务的一种新的架构风格(一种思想)。 1.什么是轻量级:代 ...
分类:
其他好文 时间:
2019-04-28 19:12:50
阅读次数:
164
为什么使用xxl-job,不使用qz: 缺少补偿机制 不支持集群 不支持路由策略 统计任务执行 平台管理 监控,报警邮箱 幂等性:一次请求和多次请求得到相同的结果,不会因为多次的请求,导致最后的数据不同。 现在很多为了保证服务的高可用,一般都采用了集群。例如:在一个商城项目里有这么一个需求,需要每晚 ...
分类:
其他好文 时间:
2019-04-28 19:11:41
阅读次数:
535