Application
Supervisor
worker(gen_server, gen_event, gen_fsm)

陷阱:
http://erlang.org/doc/efficiency_guide/commoncaveats.html

迁移到Erlang学习步骤:
语法的学习,容易
阅读开源项目代码,进阶
掌握调试、性能调优工具,进阶
理解Erlang虚拟机工作原理(熟悉操作系统原理)

通用服务器(gen_server)
服务器框架 + 回调模块
回调模块(业务逻辑)是纯粹的顺序代码,没有并发、分裂、发送、接受、注册,意味着我们可以完全不了解底层并发模型的情况下编写客户端-服务器模型。
场景:
维持长连接
管理外部依赖部件(rabbitmq/redis/couchbase/muysql)
RESTful API
Socket.io API

通用事件处理(gen_event)
事件处理器框架 + 回调模块
分离事件生成 和 事件处理。
错误记录器和警报处理器同样遵循事件处理器的模式。
场景:
日志系统(file_handler, syslog_handler)
实时统计系统(一个事件多维度统计)

有限状态机(gen_fsm)
事件->行为->状态
场景:
处理不走复杂的请求(流程复杂,两次交互以后;事件复杂,需要后台异步操作)
海量事务(一次发布千万级个对象;分片,上万个fsm被创建)
fsm本身被监控

监控树(supervisor)
树的上级进程监控下级进程,如果下级进程挂了就会重启它们。

应用程序(application)
.app应用程序信息文件

应用程序监视器(GUI)
appmon:start()

Erlang OTP相关推荐

  1. centos 6.8 源码安装 erlang/otp 19.0.2

    2019独角兽企业重金招聘Python工程师标准>>> 最近一直都是在debian jessie下开发erlang代码,但部署环境一直都是在centos 6上面,发现centos 6 ...

  2. Erlang/OTP之gen_fsm行为模式

    2019独角兽企业重金招聘Python工程师标准>>> 1. Fsm 称为 有限状态机,举个例子,游戏中的怪物称为NPC,NPC一般有几种状态,比如:静止,移动,死亡,被攻击,攻击英 ...

  3. Erlang/OTP设计原则(文档翻译)

    http://erlang.org/doc/design_principles/des_princ.html 图和代码皆源自以上链接中Erlang官方文档,翻译时的版本为20.1. 这个设计原则,其实 ...

  4. CentOS 6 5安装Erlang/OTP 17 0

    CentOS 6.5安装Erlang/OTP 17.0 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Erlang目前已经是Fedora和Debian/ ...

  5. Erlang/OTP:基于Behaviour的回调函数

    原始链接:https://blog.zhustec.me/posts/erlang-otp-1-callback-based-on-behaviour OTP 是什么 OTP 的全称是开源电信平台 ( ...

  6. Erlang/OTP 构建 Application

    在Erlang/OTP ,Application表示作为一个单元,可以启动和停止,执行一些特定功能​​的组件,并可以在其它系统中重新使用.Application控制器的模块接口,是在每一个Erlang ...

  7. 安装erlang/otp和rebar3时遇到的一些问题和自己的见解

    CentOS7 安装erlang环境: 一般选择otp22版本 安装前先安装wxWidgets作为erlang/otp的依赖,以及在网上查询所有erlang所需的依赖(22版本没有此依赖会导致cryp ...

  8. Erlang/OTP并发编程实战

    <Erlang/OTP并发编程实战> 基本信息 原书名:Erlang and OTP in Action 作者: (美)洛根(Logan,M.) 梅里特(Merritt,E.) (瑞典) ...

  9. 【Erlang/OTP入门】基于进程的并发编程和分布式

    引言 在参加区统考的前一天开始写这篇文章,开学后时间真的紧迫了很多.   我最近玩Erlang只是一个偶然(?).这一切的开始是我某天看到一本名为<Erlang and OTP in Actio ...

  10. 安装升级Erlang/OTP的方法

    安装升级Erlang/OTP的方法 步骤:下载kerl,添加执行权限,构建,安装,激活. 详细步骤如下: 1.下载kerl script [root@localhost kerl]# curl -O ...

最新文章

  1. Funny:还是程序猿会玩——弹幕炸天学AI和区块链,玩起来!弹慕君,你也值得拥有!
  2. RabbitMQ headers Exchange
  3. char、Varchar、nvarchar、ntext (转)
  4. 【c】【报错解决】incompatible implicit declaration
  5. 图片md5修改工具_如何修改视频和图片的MD5,用电脑自带的命令
  6. java mysql 配置_Java连接MySQL数据库详细分析
  7. 互联网的未来之上:平权的互联网
  8. python开发环境管理:pip和virtualenv
  9. 安装deepin_deepin使用笔记,安装steam客户端
  10. 独断专行站在互联网创业风口下的 00 后 CEO,没有钱该如何继续?
  11. Django 前后端数据传输、ajax、分页器
  12. iTunes更改备份路径
  13. 百度智能云文字转语音
  14. 【音视频—基础】分辨率、码率和帧率
  15. leetcode之Find All Numbers Disappeared in an Array(448)
  16. Ajax参数详解(转载)
  17. 注意力机制在视觉中的实战
  18. 东莞蒙德服务器维修,蒙德驱动器变频器维修常见报警:OC1 OC2 OC3 OC4
  19. 基于微信小程序的校园互助平台
  20. AD使用笔记1 原理图与PCB布局同步实现

热门文章

  1. Python快速定位bug
  2. 【书影观后感 十一】我情愿一直追逐理想
  3. 隐函数求导例题及解析
  4. STM32F767ZI NUCLEO144 基于CubeIDE快速开发入门指南
  5. 我的世界服务器支持多地图吗,我的世界:沉迷服务器地图有弊端,体验虽然很好,但很容易落伍!...
  6. 设计模式之【观察者模式】,MQ的单机实现雏形
  7. 腾讯2020年未來展望_2020年编程语言展望
  8. Cannot instantiate objects with a parent which is persistent.
  9. 芯讯通全系列模组亮相IOTE 2021第十六届国际物联网展·深圳站
  10. uniapp input输入框(小数点输入保留一位小数)