为什么在erlang中使用OTP?

时间:2011-05-04 08:16:46

标签: erlang otp erl

正如问题所说:使用erlang进行开发时,使用OTP设计原则会带来哪些好处?

(我正在开发一个只接收命令并发送响应的服务器)

2 个答案:

答案 0 :(得分:14)

正如Jonas所说,OTP是一套经过战斗的设计元素和习惯用法,用于创建容错系统(如灵活性,实时更新等)。简而言之,您希望将它用于这些环境或可能会成长为这些环境的环境,因为在Erlang中创建可靠,稳定的系统的大量血液,汗水和泪水都融入了OTP行为和体系结构。如果您不使用它们,您将要么没有容错,灵活的系统,要么您将重新创建所有决策,一次一个流程和错误,最终创建相当于克隆的数量OTP。

所以问题确实是你想要使用OTP?如果您没有使用打算长时间运行并且中断最少的软件,则不需要OTP。如果您已经有一个框架可以完成您更熟悉的工作,那么您不需要OTP。如果你想学习(也许很难)OTP设计背后的决策,你不需要OTP。如果学习它的成本(并且那里有成本!)超过了软件系统停机时间的成本,则不需要OTP。

熟悉OTP的原因和方法的最佳方式是OTP Design Principles User's Guide。如果没有直接说明推理,你可以经常在各行之间进行阅读,以发现每个组成部分的基本原理。

答案 1 :(得分:3)

OTP包含一些用于容错系统的良好设计模式,例如gen_server和监督可能很有趣。这取决于你想用Erlang做什么。

E.g。如果你想运营一个网站,你可能会有兴趣使用Yaws,如果你想要一个容错的网站,你可能会使用OTP和Yaws进行监督。

OTP还包含可能有用的行为模式。