Akka

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(项目)
(交互模式)
 
(未显示1个用户的18个中间版本)
第2行: 第2行:
  
 
Akka提供类似[[Erlang]]那样健壮的基于消息的计算,其高性能表现:50 million msg/sec on a single machine. Small memory footprint; ~2.5 million actors per GB of heap.
 
Akka提供类似[[Erlang]]那样健壮的基于消息的计算,其高性能表现:50 million msg/sec on a single machine. Small memory footprint; ~2.5 million actors per GB of heap.
 +
 +
==简介==
 +
 +
==功能==
  
 
==理论==
 
==理论==
 
*[[actor model|参与者模型(Actor model)]]
 
*[[actor model|参与者模型(Actor model)]]
 +
 +
==交互模式==
 +
[https://doc.akka.io/docs/akka/2.6/typed/interaction-patterns.html Interaction Patterns]
 +
*Fire and Forget(点火和忘记)
 +
*Request-Response(请求-响应)
 +
*Adapted Response(适配的响应)
 +
*Request-Response with ask between two actors(请求-响应,两个参与者之间有询问)
 +
*Request-Response with ask from outside an Actor(请求-响应,来自外部参与者的询问)
 +
*Generic response wrapper(通用响应包装器)
 +
*Ignoring replies(忽略回复)
 +
*Send Future result to self(给自己发送Future结果)
 +
*Per session child Actor(每会话子参与者)
 +
*General purpose response aggregator(通用目的响应聚合器)
 +
*Latency tail chopping(延迟尾部去掉)
 +
*Scheduling messages to self(将消息安排给自己)
 +
*Responding to a sharded actor(响应给一个共享参与者)
 +
 +
<gallery>
 +
image:akka-interaction-patterns-fire-forget.png|Fire & Forget
 +
image:akka-interaction-patterns-request-response.png|Request Response
 +
image:akka-interaction-patterns-adapted-response.png|Adapted Response
 +
image:akka-interaction-patterns-ask-from-actor.png|Ask from Actor
 +
image:akka-interaction-patterns-ask-from-outside.png|Ask from Outside
 +
image:akka-interaction-patterns-pipe-to-self.png|Pipe to Self
 +
image:akka-interaction-patterns-per-session-child.png|Per session child Actor
 +
image:akka-interaction-patterns-aggregator.png|Aggregator
 +
image:akka-interaction-patterns-tail-chopping.png|Tail Chopping
 +
image:akka-interaction-patterns-timer.png|Scheduling
 +
image:akka-interaction-patterns-sharded-response.png|Sharded Actor
 +
</gallery>
 +
 +
==指南==
 +
*[https://developer.lightbend.com/guides/akka-quickstart-java/ Akka Quickstart with Java]
 +
*[https://github.com/guobinhit/akka-guide Akka 中文指南]
  
 
==项目==
 
==项目==
第15行: 第53行:
 
*[https://github.com/krasserm/akka-persistence-cassandra Cassandra Plugins for Akka Persistence]
 
*[https://github.com/krasserm/akka-persistence-cassandra Cassandra Plugins for Akka Persistence]
 
*[https://github.com/RBMHTechnology/eventuate Eventuate]
 
*[https://github.com/RBMHTechnology/eventuate Eventuate]
 +
*[https://github.com/typesafehub/activator-akka-cluster-sharding-scala activator-akka-cluster-sharding-scala]
  
 
==Modules==
 
==Modules==
第28行: 第67行:
 
*akka-testkit – Toolkit for testing Actor systems
 
*akka-testkit – Toolkit for testing Actor systems
 
*akka-zeromq – ZeroMQ integration
 
*akka-zeromq – ZeroMQ integration
 +
 +
==集群==
 +
*[https://developer.lightbend.com/guides/akka-cluster-kubernetes-k8s-deploy/ Deploying clustered Akka applications on Kubernetes]
 +
*[https://github.com/drexin/akka-mesos akka-mesos]
 +
*[https://github.com/adobe-apiplatform/mesos-actor mesos-actor]
  
 
==用户==
 
==用户==
 +
*[https://github.com/paypal/squbs Paypal squbs]
 +
*[[Apache Usergrid]]
 
*[[BaasBox]]
 
*[[BaasBox]]
 
* "We're delivering the future of money to over 148 million people worldwide. Using Scala and Akka, we can rapidly develop, test, and deliver services that are reliable and performant at massive scale." - PayPal
 
* "We're delivering the future of money to over 148 million people worldwide. Using Scala and Akka, we can rapidly develop, test, and deliver services that are reliable and performant at massive scale." - PayPal
 +
*[[Google]]: 1000 node Akka cluster on Google Compute Engine (GCE)
  
 
==开发者==
 
==开发者==
第37行: 第84行:
  
 
==文档==
 
==文档==
 +
*[http://docs.huihoo.com/apache/mesos/Scalable-task-distribution-with-Scala-Akka-and-Mesos.pdf Scalable task distribution with Scala, Akka and Mesos]
 +
*[http://docs.huihoo.com/javaone/2015/CON3633-The-Rise-of-1.0-How-Reactive-Streams-and-Akka-Streams-Change-the-JVM-Ecosystem.pdf The Rise of 1.0: How Reactive Streams and Akka Streams Change the JVM Ecosystem]
 
*[http://docs.huihoo.com/javaone/2014/CON1849-Event-Sourced-Architectures-with-Akka.pdf Event-Sourced Architectures with Akka]
 
*[http://docs.huihoo.com/javaone/2014/CON1849-Event-Sourced-Architectures-with-Akka.pdf Event-Sourced Architectures with Akka]
 
*[http://docs.huihoo.com/infoq/qconbeijing-akka-cluster-realization-20140426.pdf Akka 分片集群的实现]
 
*[http://docs.huihoo.com/infoq/qconbeijing-akka-cluster-realization-20140426.pdf Akka 分片集群的实现]
第42行: 第91行:
 
==图集==
 
==图集==
 
<gallery>
 
<gallery>
 +
image:akka-actor-hierarchy.png|Actor层次结构
 +
image:akka-actor-paths-overview.png|Actor Paths
 +
image:actor-lifecycle.png|Actor生命周期
 
image:spark-akka-play-lagom-java-scala.png|参考架构
 
image:spark-akka-play-lagom-java-scala.png|参考架构
 
image:lightbend-architecture-diagram.png|Lightbend架构
 
image:lightbend-architecture-diagram.png|Lightbend架构
 +
image:squbs-actor-hierarchy.png|squbs
 
</gallery>
 
</gallery>
  
第61行: 第114行:
 
[[category:parallel computing]]
 
[[category:parallel computing]]
 
[[category:concurrent computing]]
 
[[category:concurrent computing]]
 +
[[category:OSGi]]

2020年10月16日 (五) 09:50的最后版本

Akka:是一套构建基于 JVM 之上的高并发、分布式、容错、事件驱动应用的工具集和运行时,使用 JavaScala 编程语言,采用 Apache v2 许可协议。

Akka提供类似Erlang那样健壮的基于消息的计算,其高性能表现:50 million msg/sec on a single machine. Small memory footprint; ~2.5 million actors per GB of heap.

目录

[编辑] 简介

[编辑] 功能

[编辑] 理论

[编辑] 交互模式

Interaction Patterns

  • Fire and Forget(点火和忘记)
  • Request-Response(请求-响应)
  • Adapted Response(适配的响应)
  • Request-Response with ask between two actors(请求-响应,两个参与者之间有询问)
  • Request-Response with ask from outside an Actor(请求-响应,来自外部参与者的询问)
  • Generic response wrapper(通用响应包装器)
  • Ignoring replies(忽略回复)
  • Send Future result to self(给自己发送Future结果)
  • Per session child Actor(每会话子参与者)
  • General purpose response aggregator(通用目的响应聚合器)
  • Latency tail chopping(延迟尾部去掉)
  • Scheduling messages to self(将消息安排给自己)
  • Responding to a sharded actor(响应给一个共享参与者)

[编辑] 指南

[编辑] 项目

Akka ecosystem Akka community projects

[编辑] Modules

  • akka-actor – Classic Actors, Typed Actors, IO Actor etc.
  • akka-agent – Agents, integrated with Scala STM
  • akka-camel – Apache Camel integration
  • akka-cluster – Cluster membership management, elastic routers.
  • akka-kernel – Akka microkernel for running a bare-bones mini application server
  • akka-osgi – base bundle for using Akka in OSGi containers, containing the akka-actor classes
  • akka-osgi-aries – Aries blueprint for provisioning actor systems
  • akka-remote – Remote Actors
  • akka-slf4j – SLF4J Logger (event bus listener)
  • akka-testkit – Toolkit for testing Actor systems
  • akka-zeromq – ZeroMQ integration

[编辑] 集群

[编辑] 用户

  • Paypal squbs
  • Apache Usergrid
  • BaasBox
  • "We're delivering the future of money to over 148 million people worldwide. Using Scala and Akka, we can rapidly develop, test, and deliver services that are reliable and performant at massive scale." - PayPal
  • Google: 1000 node Akka cluster on Google Compute Engine (GCE)

[编辑] 开发者

[编辑] 文档

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱