表单重复提价问题 rpc远程调用时候 发生网络延迟 可能有重试机制 MQ消费者幂等(保证唯一)一样 解决方案: token 令牌 保证唯一的并且是临时的 过一段时间失效 分布式: redis+token 注意在getToken() 这种方法代码一定要上锁 保证只有一个线程执行 否则会造成token不 ...
幂等性 定义 WEB资源或API方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。 场景 表单重复提交 尤其HTTP POST 操作既不是安全的,也不是幂等的(至少在HTTP规范里没有保证)。当我们因为反复刷新浏览器导致多次提交表单,多次发出同样的POST请求,导致远端服务器重复创建出了 ...
分类:
其他好文 时间:
2019-01-18 17:23:32
阅读次数:
192
1. 接口调用存在的问题 现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能在服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现很久没有反应, ...
分类:
其他好文 时间:
2019-01-18 12:12:12
阅读次数:
141
J前言 今年年初遇到项目灾难,解决了不少问题,这是其中一个问题。很早的时候写的,学以致用的。今天看到还有这样一篇稿文,那就整理下分享给大家学习!编程思想之幂等性 什么是幂等性 既然幂等性源于数学,那我就使用数学公式来表示,即可一目了然! f(f(x)) = f(x) 显然,从上面的二元函数可以看出, ...
分类:
其他好文 时间:
2019-01-08 19:12:18
阅读次数:
136
一. RESTful RESTful (Representational State Transfer) 是一种常用流行的软件架构,设计风格或协议标准。提供了一组设计风格和约束条件。主要用于客户端和服务端的交互。 1. 统一资源接口 2.使用http方法 iOS 以AFNetworking 为例 2 ...
分类:
移动开发 时间:
2019-01-07 21:03:42
阅读次数:
215
幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品使用约支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水 ...
分类:
其他好文 时间:
2019-01-02 10:41:57
阅读次数:
213
Ansible简介Ansible是一个配置管理和配置工具,类似于Chef,Puppet或Salt。这是一款很简单也很容易入门的部署工具,简单的说是一个配置管理系统(configurationmanagementsystem)。你只需要可以使用ssh访问你的服务器或设备就行。它也不同于其他工具,因为它使用推送的方式,而不是像puppet等那样使用拉取安装agent的方式。利用它可以将代码部署到任意数
分类:
其他好文 时间:
2018-12-09 21:28:40
阅读次数:
263
[TOC] 前言 什么是分布式系统?关于这点其实并没有明确且统一的定义。在我看来,只要一个系统满足以下几点就可以称之为分布式系统 系统由物理上不同分布的多个机器节点组成 系统的多个节点通过网络进行通信,协调彼此之间的工作。 系统作为整体统一对外提供服务,其分布式细节对客户端透明。 要想更好的理解分布 ...
分类:
其他好文 时间:
2018-11-27 01:40:34
阅读次数:
187
写在最前面 我在之前总结幂等性的时候,写过一种分布式锁的实现,可惜当时没有真正应用过,着实的心虚啊。正好这段时间对这部分实践了一下,也算是对之前填坑了。 分布式锁按照网上的结论,大致分为三种:1、数据库乐观锁; 2、基于Redis的分布式锁;3.、基于ZooKeeper的分布式锁; 关于乐观锁的实现 ...
分类:
其他好文 时间:
2018-11-24 17:57:27
阅读次数:
217
重复消费可能会在什么场景下出现(以kafka为例) kafka实际上有个offset的概念,就是每个消息写进去,都有一个offset,代表他的序号, 然后consumer消费了数据之后,每隔一段时间,会把自己消费过的消息的offset提交一下,代表我已经消费过了,下次我要是重启啥的,你就让我继续从上 ...
分类:
其他好文 时间:
2018-11-23 15:24:48
阅读次数:
573