外观
外观
497字约2分钟
2025-02-17
Disruptor 是 LMAX 公司开源的一个 高性能无锁环形队列 框架,常用于高并发、低延迟的消息处理场暑。它通过环形缓冲区+无锁(CAS +内存屏障)减少线程切换,来显著提升吞吐量。
在协同编辑中,后端 WebSocket原本同步接收和处理消息,若并发用户多、单条消息处理释时长,就易造成明赛,无法处理更多请求,引入 Disuptor 后,将消息生产与消息处理解耦:
项目中具体流程如下:
优雅停机指在应用关闭前,不再接收新的请求从 并 等待系统中正在进行的任务全部完成后,才真正停止进程。确保数据和状态不会在停机时刻中断或丢失。
Disruptor 本身提供了优雅停机方法。可利用 Bean 的 PreDestroy 注解,在应用关闭前,先调用 disruptor.shutdown() ,然后 Disruptor 会等待环形队列内所有事件处理完才返回,同时拒绝所有新的编辑操作请求。等到队列内所有任务都消费完成,再关闭资源池和资源连接,最后退出应用。