Akka Actor模型开发库是一款功能强大的编码程序工具包,拥有简单的开发和分布式系统,高效能、弹性和分散式、反应式流数据,目的是为了解决分布式编程中一系列的编程问题。
基本介绍
Actor模型并非什么新鲜事物,它由Carl Hewitt于上世纪70年代早期提出,目的是为了解决分布式编程中一系列的编程问题。其特点如下:
1、系统中的所有事物都可以扮演一个Actor;
2、Actor之间完全独立;
3、在收到消息时Actor所采取的所有动作都是并行的,在一个方法中的动作没有明确的顺序;
4、Actor由标识和当前行为描述;
5、Actor可能被分成原始(primitive)和非原始(non primitive)类别;
6、非原始Actor有:
由一个邮件地址表示的标;
当前行为由一组知识(acquaintances)(实例变量或本地状态)和定义Actor在收到消息时将采取的动作组成;
7、消息传递是非阻塞和异步的,其机制是邮件队列(mail-queue);
8、所有消息发送都是并行的。
软件特色
简单的并发和分布式系统
Actors和Streams让你构建的系统可以扩展,更有效地使用服务器的资源,出,使用多个服务器。
弹性设计
基于 “反应式宣言 ”的原则,Akka允许你编写系统,使其在面对失败时能够自我修复并保持响应。
高效能
在单机上最高可达到 5000 万 msg/秒。小内存占用;每GB堆约250万个角色。
弹性和分散式
无单点故障的分布式系统。跨节点的负载均衡和自适应路由。使用集群共享的事件源和CQRS。使用CRDTs实现最终一致性的分布式数据。
反应式流数据
异步非阻塞流处理与反压。完全异步和流式HTTP服务器和客户端为构建微服务提供了一个很好的平台。与Alpakka进行流式集成。