有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的。感谢阅读!

点此加入该群​jq.qq.com

 

基于epoll的nginx

有了epoll,理论上1个进程就可以无限数量的连接,而且无需轮询,真正解决了c10k的问题。 (推荐学习:)

nginx是基于epoll的,异步非阻塞的服务器程序。自然,nginx能够轻松处理百万级的并发连接,也就无可厚非了。

swoole如何处理高并发

①reactor模型介绍

io复用异步非阻塞程序使用经典的reactor模型,reactor顾名思义就是反应堆的意思,它本身不处理任何数据收发。只是可以监视一个socket(也可以是管道、eventfd、信号)句柄的事件变化。

注:什么是句柄?句柄英文为handler,可以形象的比喻为锅柄、勺柄。也就是资源的唯一标识符、资源的id。通过这个id可以操作资源。

reactor只是一个事件发生器,实际对socket句柄的操作,如connect/accept、send/recv、close是在callback中完成的。

因为reactor基于epoll,所以每个reactor可以处理无数个连接请求。 如此,swoole就轻松的处理了高并发。

nginx配置:

 

 9501就是swoole服务器监听的地址。root设置为静态文件的目录。当请求静态文件是由nginx直接处理,当请求的文件不存在时,发送给swoole服务器,来进行处理。