限流RateLimiter和Tomcat中最大连接数和最大线程数的区别

来源:14-2 应用限流思路-2

蝙蝠之殇

2018-05-30

老师,通过限流来控制并发时,代码里使用了RateLimiter类。而Tomcat本身也是可以限制最大连接数和最大线程数的,这两种方式有什么区别么?

写回答

1回答

Jimin

2018-05-30

你好,RateLimiter 类和Tomcat本身设置的最大连接数不一样。通常RateLimiter类是请求或调度已经进入到服务器了,而针对某个资源的进行一定限流操作,否则可能会导致某个资源使用出现问题。比如tomcat层遭遇DDOS攻击,来了大量的请求,而每个请求都涉及到发短信,为了保证发短信服务正常,在调用发短信服务之前其实就可以考虑引入RateLimiter做些流量的控制。
0
7
蝙蝠之殇
回复
Jimin
我好像明白了,按照我刚刚测试的那种方式,由于在tomcat设置了最大的并发线程,那么在接口那里的限流就没有太大意义了,但是由于方法中还可以另起线程,所以在服务类中涉及关键资源的操作,还是有必要考虑限流RateLimiter的,是这样子么?
2018-05-30
共7条回复

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程