我必须要在第一个请求或者至少有一个请求执行成功后不再阻塞,这种情况下大家如何处理这个webflux。应用场景:应对缓存雪崩和瞬时大量缓存击穿,现在的阻塞所有请求解决方案是可行的,但是我想在一些模块中尝试一下webflux,然而webflux又不推荐在这种场景下使用。面对的疯狂的用户,300ms内我们这边至少有600个相同的查询落在了数据库上,所以设计系统之初我这边就是相同请求阻塞,放行第一个请求执行查询,将结果写回redis后,再放开所有的阻塞,这样这些请求就全落在了redis集群上,而不至于把600个相同的查询全压给了数据库。
响应式的话,只会根据机器当前的允许的并发数进行执行,其他都在阻塞积压,然后第一波数据产生下发完事儿,后续请求会由调度器执行,所以,并不会有多大的性能影响,前面查出来的放入缓存执行即可。webflux的话推荐使用reactor的elastic这个IO类型的调度器
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。