目前在做的一个项目中每一个请求都需要事先经过全局拦截器的处理。可是请求数量上来后我担心全局拦截器承受不住,问问各位仁兄有什么建议
|
xuwenpingFeb 18, 2019 via Android
1
使用 zuul 部署一个网关?或者尽量减少全局拦截器拦截次数,比如只拦截系统使用的 URL?
|
|
egfegdfrFeb 18, 2019
2
如果拦截器里面的业务逻辑不复杂,应该是没什么问题的
|
|
jun1stFeb 18, 2019
3
不用担心,没什么问题
|
|
lhx2008Feb 18, 2019
4
不读写 mysql 问题不大,如果读写了要做优化。不放心可以压测看看有没问题。
|
|
5
你的拦截器里有复杂逻辑吗?计算时间很长?如果不是,不存在什么负担不了,首先 spring 项目的对象都是单例,无状态,说白了,每次请求进入拦截器都是进入独立的内存拷贝空间,所以不存在负载不了
|
|
6
“我担心全局拦截器承受不住”
J 过度工程就是这么来的,毛主席说了,没有调查就没有发言权,建议先去测试一下,看看你的担心是不是杞人忧天 |
|
7
一般不建议全局拦截,有需要拦截的地方 自己 AOP 做一套 然后在需要拦截的地方加注解,这样一来可以减轻人的思维负担,排查各类问题也比较方便,特别是 Java 这种 本来一个简单的方法 调用栈就成千上百个方法 本身就很难受了。
|
|
8
@egfegdfr 就是起一个转发的作用。因为每个请求都是虚拟请求(不存在该路径的 api),所以需要截取请求路径然后转发到指定的 api 处理。这样的话全局拦截负担感觉就太重了。
|
|
buliuguFeb 19, 2019
12
没 io 操作问题不大
|