请教:如何写支持大量并发访问的服务器软件

GONGLV 2001-03-05 10:07:00
提出这个问题,源于我遇到的一些项目。

至少有四个原因说明讨论这个问题的必要性:

一、就应用型软件来讲,支持大量并发访问的服务器软件是一个重要方面。其它还包括数据库MIS软件、数据采集处理软件、基于WEB的程序等。每种软件有自己的规律,但就难度来讲,并发访问服务器软件的难度与价值都要大一些。例如目前的OICQ、联众游戏等,都存在这个问题。

二、从技术本身来讲,可以分为技巧型(如在非客户区画图)、大系统结构型(如大型MIS系统)、高性能型(如本话题)三种,目前网上的大多文章停留在技巧上,或者停留在某种功能如何实现等教学性质的讲座上,或者一些复用性并不强的源码上。我个人认为教学本身的有用,但价值不大,比如如何进行多线程编程、如果进行SOCKET通讯等,一些经典的图书、手册、MSDN等来得更好;而技巧型价值也不大,多是一些点缀,不是大系统中的关键;大多数源码的价值也不大,不如系统自带的例程好。 实际上,对大系统结构型和高性能型软件的讨论太少,此为其二。



三、在互联网大势已定的今天,基于HTTP协议软件或者网站的作用不需要多说,另一种基于专用客户端软件、后台有服务器软件提供并发服务(不论两层、三层还是多层)、通过互联网进行通讯的大规模分布式应用显然是我辈程序员的一个弱项。值得我们关注和努力。

四、我想好的程序员都研究过数据结构、钻研过操作系统源码、学习过编译原理,或者进行过底层的通讯研究。如果让我们写一个网络数据库系统(DBMS),如果让你规划,你可能能说出个大概,但高性能的支持大量用户并发访问的服务器软件还是一个很少有人有底气的问题。

就我目前知道的一些情况,有以下基本结论:

1、在NT或者LINUX/UNIX系统中,好的服务器软件可以支持1000——3000并发联接。

2、目前分布式操作系统还只是个概念,但不排除可以在应用程序上写出好的分布式应用程序来。

3、缺少历经实战检验的成形的写作方法。

等待您的高见。欢迎与我讨论(plissken@263.net)

一点补充:
对于本问题,我本人与没有成形的经验。期待好的方案与讨论。
中间件可能解决了这个问题,但他是如何解决的,是本话题探讨的核心。如WEBLOGIC,仅提供了一个应用服务器。在具体的应用中,往往需要自己写服务器。
更明确一些讲,写一个IRC的聊天室,是不难的事情,但如何使用一台服务器支持3000人同时在线聊天?


...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jedi 2001-03-05
  • 打赏
  • 举报
回复
听课
Kevin_qing 2001-03-05
  • 打赏
  • 举报
回复
听课!?!
yudi1226 2001-03-05
  • 打赏
  • 举报
回复
听课
yes_start 2001-03-05
  • 打赏
  • 举报
回复
听课

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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