codis proxy处理流程
参考:
https://blog.csdn.net/liaoyoujinb/article/details/72190360
https://blog.csdn.net/qifengzou/article/details/51934958
介绍
proxy有两个部分,session和backend。
- session阶段做请求的读取和分发,以及最后结果的合并和返回。
- backend阶段做处理proxy到Codis server处理命令,并返回命令执行结果到session。
一个请求的处理流程
1.proxy读取请求,放入到session recv buffer中,并将读取到的请求放入task队列。
2.session Rc阶段做分发操作,将请求按照路由规则做拆分,并将请求放入bc.input队列中。
3.backend Ws阶段从bc.input中读取到拆分后的请求,通过backend send buffer发送命令到Codis server执行。
4.backend Rs阶段通过backend recv buffer 接收到Codis server的返回值,并唤醒之前的task任务。
5.session Wc阶段对结果做合并,并放入session send buffer中,返回给客户端。