百万级用户服务器的开发,求平台建议

CandCplus 2013-06-21 05:11:29
最近公司涉及一个大型软件开发,服务器需要面对百万级的用户,其中有上千的长连接。

数据包不大,接近文字聊天的水平。但是还没有决定用http还是udp。

像这种情况,哪个平台比较合适,j2ee,C++,还是C#?
如果要使用长连接,双向发送数据,用哪种协议和连接比较合适?

高分求助,回复有分!

...全文
733 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
MiceRice 2013-06-27
  • 打赏
  • 举报
回复
引用 3 楼 CandCplus 的回复:
虽然是百万级用户,但是长连接不多,也是就是1000左右。
那这个压力不大,随便搞吧。处理高并发连接中,提供NIO模型的Mina框架还比较成熟。
CandCplus 2013-06-27
  • 打赏
  • 举报
回复
谢谢! 虽然没有用过,看来nio是必须用的。我也打算用http来做。因为udp在网络中存在各种毛病,无法穿越防火墙。 虽然是百万级用户,但是长连接不多,也是就是1000左右。
MiceRice 2013-06-26
  • 打赏
  • 举报
回复
UDP不太合适,你很难解决服务器到客户端的通讯问题,除非你确保大家都在可以相互直接访问到的网络环境中(也就是不存在NAT的情况)。此外UDP方式下解决信息安全问题,也需要额外花费些功夫。 建议仍然是TCP模型,从你的需求来看,应该是类似即时通讯这种通讯量极低但是并发连接极高的情况;那么可以考虑采用 NIO 模型,这样一条线程就可以服务N条TCP连接。 不过要普通PC服务器要单机解决百万级在线用户,恐怕还是不现实的,估计单机完成十万级别连接就差不多上限了。 另外:如果服务器端信息接收量多而发送量少的话,可以采用两种通道并用的方式。
kittaaron 2013-06-22
  • 打赏
  • 举报
回复
对丢少量的数据不敏感的情况下,可以考虑用udp实现。 如果在http层实现,并发1000的情况,如果限制单台机器,server应该考虑用nio(单指JAVA)的server实现。现在已经有不少成熟的实现jetty, netty, servlet 3.0都有这种实现。也可以自己实现,工作就相对要大不少。

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧