作者回复: epoll其实只是为了实现完全事件驱动的异步方式,即,nginx可以用单线程实现数万并发连接的高吞吐量处理。如果是由epoll仅处理连接的建立,而建立好的连接交由一个线程处理,这种模式不是全异步的事件驱动方式,性能上不去的。
作者回复: 1、同步开发很简单,改成异步很困难,尤其是在生态已经形成的基础上。
2、20课、31课还会介绍。
3、按请求处理流程学习与记忆,可以形成结构化知识。
作者回复: 是的。对第3点而言,也不是为第三方模块设计的,而是就现代程序设计而言,这些数据结构覆盖了多数场景, nginx自身的框架也使用了这些数据结构。
作者回复: 增加处理器?是说换CPU吗?这与进程为基础结构无关。
换CPU成本很高,这也涉及厂家提供的保修服务。
你说的扩容是指水平扩展吧?第4部分第1节课就会说到扩展性问题,这是负载均衡的核心问题,你可以先听听那节课。
作者回复: 更低效,在第2部分请求的切换课程中有介绍原理。不会更安全,在第2部分关于worker进程时提到过nginx选用多进程的原因。
作者回复: linux没有这样的限制哦,只要内存够大。默认每个进程打开的句柄数是受限的,你需要调整下参数,提升这个上限。需要root权限。
作者回复: 上百万什么?没有单位哦。是QPS还是并发连接?活跃连接还是总连接?