在现在开发中越来越多滴公司开始使用ERLANG做服务器开发。为什么选择ERLANG呢?
我之所以使用ERLANG是一个悲哀滴经历。当时啥也不知道老大就叫我去培训部门报道培训ERLANG去了。
一、当时选用ERLANG主要是分布式滴实现简单:
Erlang通过节点做分布式,以及通过SOCKET做分布式实现都非常滴简单。
二、ERLANG对热更滴支持非常滴好:
Erlang作为动态语言。天然滴支持REPL。
三、ERLANG对高并发滴支持非常滴好:
Erlang 的高并发是通过轻量级滴 进程(Process) 实现。每一个进程都有独立滴状态记录。
四、抢占式调:
Erlang 的任务调度器有一个 reduction budget 的概念。进程的任何操作都会造成预算消耗,包括 函数调用、调用 BIF、进程堆垃圾回收、ETS 读写、发消息(目标邮箱堆积的消息越多,消耗越大)。Erlang 的 正则表达式库 也被做了修改以支持 reductions。所以如果进程在长时间执行正则表达式匹配,也一样会消耗 reductions,也会被抢占。
五、ERLANG对编译检查支持非常滴差。