求高并发,10w人服务器的思路
本帖最后由 KPRF2009 于 2012-12-06 13:26:53 编辑
求高并发,10w人服务器的思路
求各位高手来解决下。。。
我想用NOI框架来做,但是网上说mina框架比较好。。。
我估计如果直接用线程池可以处理1W人的服务器。。。
但是10万。。。求高手指点
------解决方案--------------------楼主这个需求写的完全不清晰。
首先要确认你的10w人服务器,是长连接型的,如即时通讯;还是短连接型的,如网站?
如果是短连接型,首推仍然是线程池;因为这种情况下连接会很多、切换很快,所以没必要去维护连接,想想银行大厅的前台窗口排队叫号,窗口忙得很如果还同时照顾几个客户那不疯了?
如果是长连接型,首推是NIO模型;因为这种情况下保持连接很重要,但线程并不忙,想想医院住院部的病人,大部分时间躺在床上就行了,一个护士就可以搞定好多病人了;mina提供了比较好的封装。
------解决方案--------------------无论如何,一个IP只有64K个端口可以用,一个机器同时服务100K人是肯定不行的。
一定有LB设备才行。
至于用什么框架,那就是另外一个话题了。 Mina框架不适合工业级应用,一般的网站还是没问题的。 要是实时性高,那就没有什么框架可以用的,NIO只是个粗略的技术术语,不同的业务需要做不同的优化,还有后续的缓冲/排队等等。
所以你要把你的业务流量模型大概说清楚,大伙儿才帮你