Web请求模型

来源:互联网 发布:截图软件百度云 编辑:程序博客网 时间:2024/06/10 18:36

一、一个连接一个线程 典型场景BIO模型

二、一个IO事件一个线程 典型场景NIO模型

三、一个业务事件一个线程 典型场景WEB请求异步处理

       底层IO模型依赖NIO模型,业务上通过事件驱动处理,一个事件由一个线程处理

       3.1 非异步化Web处理请求

              等待业务处理完成返回

       3.2 异步化Web处理请求,后端服务为阻塞模式

             业务处理交给work thread pool,工作线程同步调用完成pipe里的事件完成后返回

        3.3 异步化Web处理请求,后端服务为非阻塞模式Push & complete mode

          业务处理交给work thread pool,工作线程异步调用pipe里面事件的Service Provider处理,ServiceProvider完成后继续原来的pipe

        3.4 异步化Web处理请求,后端服务为非阻塞模式Pull & resume mode

          业务处理交给work thread pool,工作线程异步调用pipe里面事件的Service Provider处理,并把result放入result queue,result标记为未完成

          依赖方线程扫描result queue,查看result是否完成,如果完成,处理自己的逻辑,然后告诉Service Provider继续原来的pipe

     3.5 异步化Web处理请求,后端服务为非阻塞模式Pull & Check Status&resume mode

          业务处理交给work thread pool,工作线程异步调用pipe里面事件的Service Provider处理,Service Provider完成后把result 放入result queue

          check status线程扫描result queue,取出来的result都是完成的,处理自己的逻辑,然后告诉Service Provider继续原来的pipe

          


0 0
原创粉丝点击