Category: My Thinking

The father of Erlang:

http://www.sics.se/~joe/

Yaws:
Because Yaws uses Erlang’s lightweight threading system, it performs well under high concurrency. A load test conducted in 2002 comparing Yaws and Apache found that with the hardware tested, Apache 2.0.39 with the worker MPM failed at 4,000 concurrent connections, while Yaws continued functioning with over 80,000 concurrent connections.
RESTful Services with Erlang and Yaws

http://www.infoq.com/articles/vinoski-erlang-rest

Why Erlang? – Bar Camp Atlanta 2008

http://www.slideshare.net/boorad/why-erlang-bar-camp-atlanta-2008-presentation

Replacing Apache with Yaws

http://thestaticvoid.com/post/2009/08/04/replacing-apache-with-yaws/

Open source libs:

http://amnesia.sourceforge.net/

AMNESIA is an Erlang library providing an abstraction layer for interfacing relational DBMSs.

web development framework:

http://erlyweb.org/

http://www.erlang-web.org/

http://nitrogenproject.com/

http://github.com/davebryson/beepbeep/tree/master

pure template engine:

http://code.google.com/p/erlydtl/

http://code.google.com/p/sgte/

key-value db:

http://couchdb.org/

http://code.google.com/p/scalaris/

map-reduce framework:

http://discoproject.org/

web server:
inets, yaws, mochiweb, crary, misultin(http://code.google.com/p/misultin/)

web client:
ibrowse, inets

1. 尽可能分离前端和服务。例如Drupal PHP来做前端,JAVA/PYTHON/…来做服务。

2. 准确的估计功能工作量,避免造成资源分配不合理,相互之间不理解。

3. 单元测试,性能测试,功能测试,稳定性测试分离。

4. 测试环境的速度改善。