您的位置:首页 > 其它

通信框架AKKA介绍

2016-02-22 10:47 281 查看

一、AKKA Actor

AKKA基于Scala开发,用于编写Actor应用,Actor模型在并发编程中是比较常见的一种模型,很多开发语言都提供了原生的Actor模型(Erlang、Scala)。

Actor是一些包含状态和行为的对象,它们通过显示传递消息来进行通信,这些消息会被发送到它们的收件箱中(消息队列)。从某种意义上来说,Actor是面向对象编程中最严格的实现形式,它们之间可以通过消息来通信,一个Actor收到其他Actor的信息后可以根据需要做出各种响应,通过Scala的强大模式匹配功能可以让用户自定义多样化的消息。Actor建立一个消息队列每次收到消息后放入队列,而它每次也从队列中取出消息体来处理,这个过程是循环的,让Actorsk以时刻接收处理发送来的消息。

AKK Actor树形结构Actors以树形结构组织起来,一个Actor可能会把自己的任务划分成更多更小的、利于管理的子任务。为了达到这个目的,它会开启自己的子Actor,并负责监督这些子Actor---每个Actor都会有一个监督者,即创建这些Actor的Actor。

二、AKKA的优势和特性:

(1)并行和分布式:AKKA在设计时采用了异步通信和分布式架构;

(2)可靠性:在本地/远程都有监控和恢复机制;

(3)高性能:单机环境中每秒可发送50000000个消息,1GB内存中可创建和保持2500000个Actor对象;

(4)去中心:区别于Master-Slave模式,采用无中心节点的架构;

(5)可扩展性:可以在分布式环境下进行Scale out,线性扩充计算能力;

国内的豌豆荚对AKKA集群做了比较深入的研究
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: