服务端网络框架

生产者消费者模式

生产者的责任

  监听连接,有新连接到来时就接受并将其放入待检查集合内;

  检查请求,每当客户端有新数据到来时则将该连接放入待消费队列内,供消费者取用进行业务处理

  关闭连接,跟进select()、epoll_wait()的超时时长定时触发连接活动性检查,将超时无活动的socket关闭

  请求限流,当待消费队列内socket已达最大数量,则新的客户端连接将不再处理

消费者责任

  业务处理,读取客户端数据,逻辑处理,并返回结果。当处理完成后将该socket放入待检查队列

  超时放弃,待消费队列内滞留时间过长的socket直接放弃,因为很大几率客户端在请求超时无反应时已放弃等待

追随者

 

领导者追随者模式

每个线程都去抢占锁,加锁成功后即可accept()客户端连接,接受连接后则持续处理请求直到没有新请求过来,然后关闭该连接

  优点,处理简单

  缺点,无法做请求限流、超时放弃

抢占式

posted @ 2019-03-05 16:25  Tianrks  阅读(305)  评论(0编辑  收藏  举报