削峰限流实现方式:固定队列长度,固定数据数量
一、controller类中模拟10000个线程
package com.woniuxy.handler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.woniuxy.sender.LimitSender;
@RestController
public class CurrentLimitingHandler {
public static int i = 0;
@Autowired
private LimitSender limitSender;
@RequestMapping("/test")
public String test() {
//模拟10000个请求,去请求数据
for(i=0;i<3000;i++){
new Thread(new Runnable() {
@Override
public void run() {
//向消费者发送请求
limitSender.send(i);//存在多个线程发送同一个值的
}
}).start();;
}
return "";
}
}
二、创建削峰限流交换机
package com.woniuxy.configuration;
import java.util.HashMap