3 个解决方案
#1
首先你要找出你系统最慢的部分,其实网络部分基本不会是一个大型server的瓶颈,更多的是业务,写数据库之类的,所以,你网络单线程就可以了,剩下的就是你先把你瓶颈业务拆出线程池,线程间交互都是靠消息队列的方式,其实从客户端发来数据,到你给客户端回包,整个业务流程还是一条线,并发的是你最耗时的操作去并发。
#2
别重复造*了,用libev,libevent,libuv,modo等开源库吧,他们底层封装的都很好,
#3
我更多的是对技术的探索吧,不太像把开源库直接拿来用,不过能学习这样的优秀的开源库的设计思路也很不错
#1
首先你要找出你系统最慢的部分,其实网络部分基本不会是一个大型server的瓶颈,更多的是业务,写数据库之类的,所以,你网络单线程就可以了,剩下的就是你先把你瓶颈业务拆出线程池,线程间交互都是靠消息队列的方式,其实从客户端发来数据,到你给客户端回包,整个业务流程还是一条线,并发的是你最耗时的操作去并发。
#2
别重复造*了,用libev,libevent,libuv,modo等开源库吧,他们底层封装的都很好,
#3
我更多的是对技术的探索吧,不太像把开源库直接拿来用,不过能学习这样的优秀的开源库的设计思路也很不错