涉及网络的高并发的服务器端的开发,经常会要考虑大量连接的处理,同时还有计算资源的分配,如线程问题。第一种考虑:单线程接接请求,多线程处理请求,一个线程针对一个连接,但是linux只能创建300个左右的线程,这个明显的有问题,线程资源不够但是这种情况有个好处,一个连接上的所有会话能在一个线程中处理;第二种考虑:类似windows的完成端口的方式,它自动的实现了一个线程资源的调度,但是不能解决连接上的会话的一致性,如果完成端口,能尽可能的将同一个连接上的包发至同一个线程,并且做一个线程资源的一个分配,就算一种比较好的解决方式。
针对大并发的连接,ngix能处理几万的请求,确实值得借鉴,还有很多的优秀的方案中的实现值得参考
阅读(847) | 评论(0) | 转发(0) |