我有兴趣研究可扩展网络服务应用程序的架构。我对协议或使用的语言不太感兴趣,更感兴趣的是设计的优雅和可扩展性。当然,我想到了 Apache,但我想知道是否有人有任何其他他们觉得可以愉快使用的示例。

编辑:只是为了澄清一下,我问的是一个实现网络协议的服务器应用程序。从这个意义上讲,Web 开发框架不是网络服务器。协议可能包括但不限于:FTP、HTTP、XMPP、SNMP、IMAP 等好的网络服务器实现某种并行性,注重可伸缩性,同时还具有良好的可扩展性。

有帮助吗?

解决方案

nginx (另请参阅 Nginx 维基) 是一个 HTTP 服务器和邮件代理,因其可扩展性和资源效率而享有盛誉。它使用基于事件的架构(支持 epoll、kqueue 等),即使在相当大的负载下也能保持较低的内存使用率。

其他提示

想我会扔出去阿帕奇的位置,以防止大家与它在回答在同一时间。

Django的 web框架是一个很好的服务器。对于这个问题,所有的Web应用程序服务器是非常可扩展性。

我想说ASP.NET是一个精心设计的服务器应用程序。编程模型是可扩展的(允许您挂接到与用户创作模块请求周期的每一个事件)。

而且极其scalabale和高性能的。

单独的高速缓存功能是值得的。我可以给你一个通用的链接,ASP.NET,但我敢肯定你是相当熟悉的。

http://www.asp.net/

有关写入网络服务器我喜欢一起工作 POE

Ejabberd 是Erlang编写XMPP服务器。 Erlang编程语言的本机的消息传递与即时消息收发服务器,它允许Ejabberd非常模块化的,以及表现出大量的并行性非常适合。

的Asterisk PBX 是其实现了许多VoIP协议包括SIP的开放源码电话服务器。这是相当模块化的,令人难以置信的配置,即使在使用排序,AEL,来描述IVR拨号方案的相互作用它自己的编程语言。

码头为我运作良好。它是快速和负荷下工作很出色。当然,性能将取决于您的部署码头顶什么样的应用。

我建议阅读以下有关 ACE 的书籍:

它们包含许多有关设计网络应用程序的非常有用的信息。

我想看看 OpenSSH的,它是很好的一个实用坚不可摧闻名。这主要是由于OpenBSD组织的密集的审查过程,但我怀疑它也涉及到架构。

有关扩展我想看看深一点到 OpenSSL的(用于OpenSSH的底层协议工具包)。

由于没有其他人提到:IIS

有一个用于Windows的非常可扩展的应用程序(这是非常可扩展本身)。

在ASP和其他.NET组件,你粘性不能真正得到任何比这更多的功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top