otp简单介绍

简单介绍 OTP (Open Telecom Platform)


OTP 是包装在Erlang中的一组库程序。OTP构成Erlang的行为机制(behaviours),用于编写服务器、有限状态机、事件管理器。不仅如此,OTP的应用行为(the application behavior)允许程序员把写好的Erlang代码打包成一个单独的应用程序;
监测行为(the supervisor behavior )允许程序员创建有层次结构的进程,使得某个进程死后,会重新启动复活。


学习Erlang/OTP的理由


OTP给了你大量通用的库程序,用以轻松创建具有高度容错、热机换码等功能的高质高效的程序。你至少可以免费享受以下好处:


●通用服务器、有限状态机、事件管理器;


●标准化应用程序结构;


●代码热机更换;


●监测树行为机制,让你的进程永不停摆。


除此之外,OTP也是在Erlang之上构建系统平台的标准方式。


大名鼎鼎的Erlang应用,如ejabberd, CouchDB, 和 MochiWeb 等,都是用OTP做的。


因此,通过学习OTP,你不仅可以掌握搭建Erlang系统平台的知识和能力,并且让你能轻松跃入其他开源项目,加以学习,因为它们的总体结构如出一辙。


如果你掌握了Erlang的一般语法,就可以开始学习 Erlang/OTP。


OTP的行为机制 gen_*


● gen_server - 用以创建通用服务器,向多个客户端提供服务;


● gen_fsm - 用以创建有限状态机。我用它搭建了 socket 5 代理服务器,它有以下状态:wait_for_init, wait_for_auth, ready, 以及由不同验证类别产生的其他中间状态。有限状态机还有其他许多用途,这也是我特别喜欢的OTP行为机制;


● gen_event - 用以创建事件处理器和发报器。它最常用于运行错误日志(也是发报器),许多对象(终端、文件等)可与之关联。


监测器行为机制

 

监测器用于监测、描述其子进程。多个监测器用于创建分层监测机制,让你的进程永不停摆。
需要监测器详细介绍的,可阅读Erlang相关文档。

 

应用器行为机制

 

应用器用于启动和停止多个监测器和其他独立单元的进程。例如,在创建socket 5 服务器之后,
我将其置于一个应用程序中,并键入:application:start(socks5_server). 将其启动。
需要应用器详细介绍的,可阅读Erlang相关文档。

 

后面的话题

 

本文仅仅是简单介绍OTP。下篇文章综述gen_server,它是我们创建的银行帐户管理程序。

 

你可能感兴趣的:(介绍)