ThreadingModel

Restlight由于是使用Netty作为底层HttpServer的实现,因此图中沿用了部分EventLoop的概念,线程模型由了AcceptorIO EventLoopGroup(IO线程池)以及Biz ThreadPool(业务线程池)组成。

  • Acceptor: 由1个线程组成的线程池, 负责监听本地端口并分发IO 事件。
  • IO EventLoopGroup: 由多个线程组成,负责读写IO数据(对应图中的read()write())以及HTTP协议的编解码和分发到业务线程池的工作。
  • Biz Scheduler:负责执行真正的业务逻辑(大多为Controller中的业务处理,拦截器等)。
  • Custom Scheduler: 自定义线程池