QuorumPeer的run方法中会setupRequestProcessor(组装processor),setupRequestProcessor被重写,根据单机或是集群,组装成三种不同的责任链,下图为单机模式
服务端接收到客户端请求的时候,会通过NIOServerCnxn submitRequest 提交请求,提交请求之后进入责任链模式

每经过责任链其中一个的processor时,会先将request放入队列,processor本身是一个线程,自身的run方法从队列中拿到数据再调用下个责任链,实现异步。

本文深入探讨QuorumPeer的run方法中如何通过setupRequestProcessor组装processor,形成单机或集群的责任链模式。客户端请求经由NIOServerCnxnsubmitRequest提交后,通过责任链的异步处理机制,每阶段processor将request暂存于队列,再由自身线程读取并调用下一环,确保高效响应。
1058





