高并发的核心技术-幂等的实现方案

高并发的核心技术-幂等的实现方案

一、背景
我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。
例如:

  1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。
  2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;
  3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;
  4. 创建业务订单,一次业务请求只能创建一个,创建多个就会出大问题。

等等很多重要的情况,这些逻辑都需要幂等的特性来支持。

Read More

Compartir

初级面试必备教程

##

##一、初级面试必备

####(1)基础部分

  • 1、Hmac加密算法

user_info表被锁住,有哪些数据库操作会锁表,因为只有update、delete这些操作会锁表,所以打算整改这些语句,有子查询的全部整改

Read More

Compartir

自己收集的面试题

1、描述一下你最近的的一个项目架构

资金平台平台重构+后台对账业务?

如何快速接入银行、怎么保证可扩展性

针对银行接口的变化有哪些考虑

怎么考虑调单情况?

2、描述一下http请求到服务器返回发生了哪些过程

3、数据库死锁?线上怎么定位?怎么解决

4、为什么mysql中主键要自增?

5、你了解哪些sql优化

Read More

Compartir

自定义注解

1、先上代码(定义注解)

1
2
3
4
5
6
7
8
9
10
@Constraint(validatedBy = DecimalValidator.class) //具体的实现
@Target( { java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.FIELD })
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@Documented
public @interface IsDecimal {
java.lang.String message() default "";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}

Read More

Compartir

耳鸣疗法

(1)梳头抹耳法:双手十指由前发际向后梳头,梳到头后部时,两掌心贴住耳廓后部,两手分别向左右两侧抹耳廓至面颊部为1次,连续108次。

(2)鸣天鼓法:两掌搓热,用两掌心分别贴住左右两耳,手指托住后脑部,食指压在中指上,使食指从中指上重重地滑落,经此弹击后颈发际处,可听到“咚咚”之声,如击天鼓,共击108次。

(3)掌心震耳(自行鼓膜按摩法):两手掌搓热,用搓热的两手掌心捂住两耳.手掌与耳朵完全封闭,然后两掌突然松开,听到“叭”的一声,起到震耳的作用。共108次。

Read More

Compartir

搭建SS服务器教程

安装脚本

首先我们下载脚本

1
2
wget --no-check-certificate
https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh

更改权限

1
chmod +x shadowsocks.sh

Read More

Compartir

如何利用apidoc编写rest风格的文档

一、ApiDoc是什么

事实上我们大多时候说的apidoc实际上是apidoc.js,是使用nodejs命令行模块来生成文档的

Read More

Compartir

单例模式大比拼

单例模式大比拼

分类

  • 1、饱汉模式
  • 2、懒汉模式
  • 3、最佳模式(多线程安全)

1、饱汉模式

1
2
3
4
5
6
7
8
public final class Singleton {
private static final Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
}

Read More

Compartir

RocketMq小解

notify是淘宝的一个消息中间件,它用创新地方式解决了分布式事务的问题,用相对较低的成本,实现了跨微服务的最终一致性

消息系统的核心作用就是三点:解耦,异步和并行

Read More

Compartir

redis安装配置

本文详细介绍redis单机单实例安装与配置,服务及开机自启动。如有不对的地方,欢迎大家拍砖o(∩_∩)o
(以下配置基于CentOS release 6.5 Final, redis版本3.0.2 [redis版本号中间位是偶数的是稳定版,奇数的为非稳定版])

Read More

Compartir