原创作者: hideto
阅读:1424次
评论:0条
更新时间:2011-06-01
1,Supervision Trees
来源于workers和supervisor模型
workers就是实际执行计算的进程
supervisors是监控workers的进程,如果workers进程崩溃,supervisors可以负责重启workers进程
supervision tree将代码分层为supervisors和workers,方便构建容错系统
2,Behaviours
Behaviours将代码分成两部分,一部分为通用性代码(一个behaviour模块),另一部分为特别性代码(一个callback模块)
使用Behaviour来实现一个supervisor进程,用户只需要实现callback模块来export预定义好接口的callback方法。
标准的Erlang/OTP behaviours包括:
gen_server: 实现client-server关系的服务器
gen_fsm: 实现有限状态机
gen_event: 实现事件处理功能
supervisor: 实现supervision tree里的supervisor
编译器遇到-behaviour(Behaviour)时,如果代码里没有实现所有的callback方法,那么会报warning
3,Applications
Erlang/OTP里有很多组件,每个组件实现自己特有的功能
Erlang/OTP里的组件称为application,例如Mnesia负责数据库编程服务,Debugger负责Erlang程序调试,它们都是application
基于Erlang/OTP的最小系统由Kernel和STDLIB这两个application组成
最简单的application不包括进程,只有一些功能性模块,这样的application称为library application,如STDLIB
4,Releases
release是一个由Erlang/OTP application和用户自定义application组成的完备的系统
5,Release Handling
Release Handling是指在运行系统中不同版本的release间升级和降级
来源于workers和supervisor模型
workers就是实际执行计算的进程
supervisors是监控workers的进程,如果workers进程崩溃,supervisors可以负责重启workers进程
supervision tree将代码分层为supervisors和workers,方便构建容错系统
2,Behaviours
Behaviours将代码分成两部分,一部分为通用性代码(一个behaviour模块),另一部分为特别性代码(一个callback模块)
使用Behaviour来实现一个supervisor进程,用户只需要实现callback模块来export预定义好接口的callback方法。
标准的Erlang/OTP behaviours包括:
gen_server: 实现client-server关系的服务器
gen_fsm: 实现有限状态机
gen_event: 实现事件处理功能
supervisor: 实现supervision tree里的supervisor
编译器遇到-behaviour(Behaviour)时,如果代码里没有实现所有的callback方法,那么会报warning
3,Applications
Erlang/OTP里有很多组件,每个组件实现自己特有的功能
Erlang/OTP里的组件称为application,例如Mnesia负责数据库编程服务,Debugger负责Erlang程序调试,它们都是application
基于Erlang/OTP的最小系统由Kernel和STDLIB这两个application组成
最简单的application不包括进程,只有一些功能性模块,这样的application称为library application,如STDLIB
4,Releases
release是一个由Erlang/OTP application和用户自定义application组成的完备的系统
5,Release Handling
Release Handling是指在运行系统中不同版本的release间升级和降级
评论 共 0 条 请登录后发表评论