【发布时间】:2011-08-18 08:09:13
【问题描述】:
正如问题所说:在使用 Erlang 开发时,使用 OTP 设计原则有什么好处?
我正在开发一个只接收命令并发送响应的服务器。
【问题讨论】:
标签: erlang erlang-otp erl
正如问题所说:在使用 Erlang 开发时,使用 OTP 设计原则有什么好处?
我正在开发一个只接收命令并发送响应的服务器。
【问题讨论】:
标签: erlang erlang-otp erl
OTP 是一组久经考验的设计元素和惯用语,如 Jonas 所说,用于创建容错系统以及其他方面(如灵活性、实时更新等)。简而言之,您希望将它用于这些环境,或者可能发展成这些环境的环境,因为在 Erlang 中创建可靠、稳定的系统所付出的大量血汗和泪水都融入了 OTP 行为和架构。如果你不使用它们,你要么没有一个容错、灵活的系统,要么你将重新创建所有决策,一次一个失误和错误,最终创建相当于克隆的东西一次性密码。
所以问题真的是什么时候不您想使用 OTP?如果您不使用旨在长时间运行且中断最少的软件,则不需要 OTP。如果您已经有一个可以完成您更熟悉的工作的框架,则不需要 OTP。如果您想了解(也许是困难的方式)OTP 设计背后的决策,则不需要 OTP。如果学习 OTP 的成本(而且存在成本!)超过了软件系统停机的成本,那么您就不需要 OTP。
了解 OTP 的原因和原因的最佳方式是OTP Design Principles User's Guide。如果没有直接说明推理,您通常可以在字里行间阅读以发现每个组件的基本原理。
【讨论】:
OTP 包含一些用于容错系统的良好设计模式,例如gen_server 和监督这可能很有趣。这取决于你想用 Erlang 做什么。
例如如果你想运行一个网站,你可能会感兴趣使用Yaws,如果你想要一个容错网站,你可能会使用带有 Yaws 的 OTP 进行监督。
OTP 还包含有用的行为模式。
【讨论】: