WebSocket并发问题
问题
websocket会出现并发报错,多个线程同时操作一个session,会导致报错
这个错误确实是并发问题而导致的,但是发现后续协同编辑的用户便都不能进入编辑了。
是并发问题导致的?
但是经过我的实验,将发生并发的地方用异常捕获,此时虽然依然会捕获并发出现的异常,但是此时前端中两个用户依然可以进行协同编辑。
难道说异常抛出就会使得用户不能再编辑了?到底是什么原因呢?
然后我便顺着抛出异常的方向查找,**异常会抛到disruptor的消费者中**,难道是由于**消费者异常,导致其他消费者无法进入**?那么我直接在消费者中抛出一个异常,会发生什么。
果不其然,我在前端只点击了一次进入编辑,就出现了后续用户无法进入编辑的情况,再看后端,没有再报错,
再看生产者的位置
也就是说生产者还是会再队列中生产事件,但是没有消费者处理事件,那么原因就是这里了。 但是问了AI,AI的回答是在 Disruptor 中,消费者(事件处理器)出现未处理的异常时,不会导致消费者一直处于轮询状态,也不会直接阻塞其他消费者。那么这里到底是什么原因呢?求大佬解答
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
作者分享
打卡:
1. 日常八股文复习+算法练习
2. 定时微服务完成
3. 将ai服务新增自动查票助手,SpringAI+deepseek+爬虫实现,可以参考我的博客https://blog.csdn.net/hsnsnusjs/article/details/147288088?spm=1001.2014.3001.5502
4
今日打卡:
1. 八股文复习+算法练习
2. 定时微服务实操+压力测试
4
打卡:
1. 八股文复习
2. 算法练习
3. 定时微服务(看完基本架构,明天开始实操)
3
打卡:
1. 八股文复习
2. 算法
3. ai开发(完结)
4. 定时微服务(未完成)
3
打卡:
1. 八股文复习
2. 算法题
3. AI开发
4. 定时微服务
2
