首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mochiweb的可伸缩性特性

Mochiweb的可伸缩性特性
EN

Stack Overflow用户
提问于 2010-05-25 09:18:10
回答 2查看 1.1K关注 0票数 2

从我迄今为止所读到的关于Mochiweb的所有文章中,我一遍又一遍地听说Mochiweb提供了非常好的可伸缩性。我的问题是,Mochiweb到底是如何获得其可伸缩性属性的?它是来自Erlang固有的可伸缩性属性,还是Mochiweb有其他代码显式地使它能够很好地扩展?换句话说,如果我自己用Erlang编写一个简单的HTTP服务器,并使用一个简单的“循环”(递归函数)来处理请求,那么它是否具有与使用Mochiweb框架构建的简单web服务器相同的可伸缩性?

更新:,我不打算实现一个完整的web服务器,支持所有可能的功能。我的要求是非常具体的-处理来自HTML表单的带有固定控件的POST数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-17 19:25:20

据我所知,MochiWeb本身并不是可伸缩的。它是一个快速的、微小的服务器库,每秒可以处理数千个请求。它这样做的方式与“可伸缩性”无关(除了调整在任何给定时间监听的mochiweb_acceptor的数量)。

通过MochiWeb,您可以得到一个坚实的web服务器库,以及Erlang的可伸缩性特性。如果您想运行单个MochiWeb服务器,当请求传入时,您仍然可以将处理该请求的工作卸载到您想要的任何机器上,这要归功于Erlang的分布式节点基础结构和廉价的消息传递。如果您想要运行多个MochiWeb服务器,可以将它们放在负载均衡器后面,并使用mnesia的分布式特性来同步计算机之间的会话数据。

关键是,MochiWeb是小而快速的(够了)。Erlang是可伸缩性的强大工具。

如果您推出自己的服务器解决方案,可能会遇到或击败MochiWeb的效率和“可伸缩性”。但是你必须重新考虑他们已经想到的一切,并且你必须自己去测试它。

票数 0
EN

Stack Overflow用户

发布于 2010-05-25 10:31:20

可能吧。:-)

如果您要编写一个web服务器,在一个单独的进程中处理每个请求(Erlang中的轻量级线程),那么您可以很容易地达到相同的“可伸缩性”。当然,特性集将是不同的,除非您实现Mochiweb所拥有的所有功能。

Erlang也有很好的内置支持在许多机器之间分发,这可能被用来获得更大的可伸缩性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2903355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档