半同步/半反应堆设计

1.引言

  • 很多服务端项目都会涉及一个很基本的架构半同步/半反应堆网络模型即epoll(io主线程)+任务队列(fd or buf)+线程池。

2.c++高性能rpc半同步/半反应堆架构图

半同步/半反应堆设计_第1张图片

3.工作机制

  • 一个工作线程同时只处理一个请求连接,保持同步性
  • IO主线程只关心fd的处理,只需将客户端fd加入任务队列即可,epoll属于Reactor IO模型
  • 任务分发辅助线程,减少工作线程和IO主线程竞争任务队列带来的开销,仅仅是IO主线程和任务分发线程共享任务队列

你可能感兴趣的:(服务器开发,epoll,半同步/半反应堆)