Actor模型

有关并行(Parallelism),不得不提的肯定是Erlang,通用的面向并发的函数编程语言,这种编程语言的选择,也是可以规避我们在程序设计上面减少很多精力放在锁上面,这样的设计方式,导致Erlang的性能特别好。

Erlang主要的设计框架的精华是 Actor模型。

Actor模型


先科普一下Reactor pattern,高手勿喷。
我们在用的比较多的,C, C++, Java这些语言的时候,本质还是一个面向过程的设计,随着对性能的要求,和优化的思想,出现了multithreading multiprocessing,这些都是为了并发(concurrency)提升性能。但是终究迫于整个架构影响,性能现在集大成的思想是node.js使用的Reactor pattern

Reactor pattern

回到Actor模型

The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and determine how to respond to the next message received.
The Actor model adopts the philosophy thateverything is an actor. This is similar to the everything is an object philosophy used by some object-oriented programming languages.

简单的交互方式如下,

Actor Model

在我们对传统模型不断压榨之后,发现性能上去了一些,但是终究设计起来还是很吃力,并且很难控制程序的稳定性,需要各种HA的帮助,保证(Web大型服务)的可靠性,不down机。后来大家发现诞生于上世纪80年代的Erlang了,这种一切皆Actor,面向并发的特性就是梦寐以求的。

Actor 模型中核心的是supervisor

A supervisor is responsible for starting, stopping and monitoring its child processes. The basic idea of a supervisor is that it should keep its child processes alive by restarting them when necessary.
有下面两种方式保障高可靠性,All-For-One and One-For-One.

One-For-One
All-For-One

可以看到整个体系已经不是传统的基于流程的设计,完全的是一套去中心化的,需要supervisor负责下面actor(process)的状态即可,一个actor挂了,在创建一个即可。actor之间通过message的方式通信。
这些被现在的后起之秀akka吸收进来,
Akka is an open-source toolkit and runtime simplifying the construction of concurrent and distributed applications on the JVM. Akka supports multiple programming models for concurrency, but it emphasizes actor-based concurrency, with inspiration drawn from Erlang.


这种优美的方案,第一次看到还是在读Kevin Kelly,《失控》

“若干年内利用几百万只低成本小机器人入侵一颗地外行星是可能的。”他提议用一次性火箭发射一群鞋盒大小的太阳能推土机去入侵月球。派出一支由无足轻重、能力有限的机器人个体组成的军队,让它们协同完成任务,并允许它们自由行动。有些士兵会死掉,大多数会继续工作,并最终做出一些成绩。
绝大多数的移动机器人会在着陆后的数月内死去。日复一日的严寒酷热会使电脑芯片开裂失效。但就像蚂蚁群落,单个的移动机器人是无足轻重的。和“漫步者”相比,他们被发射到太空的费用要便宜上千倍;这样一来,即便发射数百个小机器人,其成本也只是一个大机器人的零头。

其实就是这个模型,这种模型,可以有效自适应,对于我们现在常见的大型系统特别高效。

我们在软件设计上面的模型,其实可以看到在社会,生活中也是可以映射的。

  • 政治 民主和集权
  • 经济 哈耶克和凯恩斯
  • 管理 自上而下还是扁平放权
  • 互联网 开发平台还是封闭平台

个人意见,如有不对,请指正~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容

  • 过去十几年CPU一直遵循着摩尔定律发展,单核频率越来越快,但是最近这几年,摩尔定律已然失效,CPU的工艺制程和发热...
    时见疏星阅读 54,440评论 0 46
  • Akka是一个构建在JVM上,基于Actor模型的的并发框架,为构建伸缩性强,有弹性的响应式并发应用提高更好的平台...
    三分青年阅读 4,496评论 0 30
  • 背景介绍计算机CPU的计算速度提高(频率的提高)是有限度的,我们能做的是放入多个计算核心。为了利用多核心的计算机,...
    LeonalGU阅读 11,149评论 0 7
  • 走过八月 音符写梦 2014-8-31 8:48 今天是二零一四年八月三十一日。 每年的这个时候都要写一段文字,告...
    如伊老师阅读 252评论 0 2