通信框架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集群做了比较深入的研究
相关文章推荐
- HDU4506之快速幂取模理解
- mysql中int、bigint、smallint 和 tinyint的区别详细介绍
- 虚拟化:搭建本地虚拟化环境和安装ubuntu操作系统
- Ubuntu 14和 Win7 下NFS服务器与客户端配置(Ubuntu 14.04.02)
- Linux.BackDoor.MrBlack Attack And Defense Analysis
- Java基本类型变量和包装类之间转换
- Spring事务配置的五种方式
- linux命令之cut命令的用法
- 一次共享池争用方面的问题处理
- 关于php运行其他语言(笔记)
- C++学习之模板篇(类模板)
- [BZOJ3999] [TJOI2015]旅游
- NFS文件系统初识
- java中abstract详解
- 类型强制转换符 与 + 符的优先级
- mui几种页面跳转方式对比
- UIView与CALayer的区别,很详细
- android刷新媒体库
- HTML5地理定位,百度地图API,知识点熟悉
- 自动删除n天前日志