----- AKKA框架
IamAlwaysonline
让技术不再孤单
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AKKA日志
Akka中的日志不会依赖于特定的日志后端。默认情况在,日志消息会打印到标准输出STDOUT,但是你可以插入SLF4J日志记录器或者你自己的日志记录器。日志是异步执行的,以确保日志具有最小的性能开销。日志通常意味着IO和锁定,如果代码时异步执行的,那么IO和锁定就会减慢代码的操作。如何记录日志创建日志适配器,使用error、warning、info或debug方法,正如下面这个例子说明:翻译 2017-10-18 21:04:50 · 2223 阅读 · 0 评论 -
EventBus
事件总线最初构想作为一种向一组actor发送消息的方式,现在已经被推广为实现简单接口的抽象基类的集合:/** * Attempts to register the subscriber to the specified Classifier * @return true if successful and false if not (because it was already *翻译 2017-10-18 20:15:52 · 657 阅读 · 0 评论 -
调度器
调度器有时候你需要让一些事情在未来发生,那么你在哪儿看它们呢?看看ActorSystem吧!在那儿你能找到scheduler方法,它返回一个akka.actor.Scheduler实例,这个实例每一个ActorSystem都是唯一的,在内部通用调度在特定时间点发生的事情。你可以调度向Actor发送消息和执行任务(函数或者Runnable)。你将获得一个Cancellable,你可以调用其c翻译 2017-10-18 20:56:33 · 575 阅读 · 0 评论 -
AKKA 派发器
派发器Akka MessageDispatcher是维持Akka Actor“运作”的部分,可以说它是整个机器的引擎。所有的MessageDispatcher实现也同时是一个ExecutionContext,这意味着它们可以用来执行任何代码,例如Future。默认的派发器在没有为Actor作任何配置的情况下,每个ActorSystem将有一个默认的派发器。默认派发器是可配置的,默认翻译 2017-10-21 11:15:53 · 399 阅读 · 0 评论 -
AKKA序列化
序列化Akka有内置的序列化扩展,你可以使用内置的序列化器,也可以自定义。序列化机制可以在Akka内部用于序列化消息,也可以用于专门序列化。用法配置Akka要想知道那个序列化器用于那些消息,你需要编辑配置"akka.actor.serializers"部分,你将序列化器的名字绑定到你希望使用的akka.serialization.Serializer的实现上,就像这样:ak翻译 2017-10-18 21:44:56 · 3224 阅读 · 0 评论 -
AKKA 邮箱Mailbox
邮箱MailboxAkka Mailbox持有发给actor的消息。通常,每一个Actor都与自己的邮箱,但是当使用BalancingPool时,所有的路由都共享一个邮箱实例。邮箱选择Actor需要的消息队列类型特定类型的actor可以用特定类型的消息队列,只要这个actor实现了参数化的接口RequiresMessageQueue。这里是一个例子:import akka.翻译 2017-10-21 11:13:26 · 8732 阅读 · 0 评论 -
集群中的分布式发布订阅
集群中的分布式发布订阅如何向一个不知道在哪个节点上运行的actor发送消息呢?如何向集群中的所有actor发送感兴趣的主题的消息?这种模式提供了一个中介actor,akka.cluster.pubsub.DistributedPubSubMediator,它管理actor引用的注册,复制所有集群节点或者特定角色节点的对等actor的条目。DistributedPubSubMed翻译 2017-10-18 21:40:53 · 1163 阅读 · 0 评论 -
集群用法
集群用法关于Akka集群概念的介绍请参阅集群规范。为你的工程准备集群Akka cluster是一个独立的jar文件。确保你的工程具有如下的依赖: com.typesafe.akka akka-cluster_2.11 2.4.16简单的集群示例下面的配置使能了集群扩展。它加入集群,actor订阅集群membership事件并记录到日志。applic翻译 2017-10-18 21:25:49 · 3382 阅读 · 0 评论 -
集群客户端
集群客户端不属于集群的actor系统可以通过ClusterClient与集群中的actor进行通信。当然这个客户可以是另一个集群的一部分。它只需要知道作为联络点的一个节点或多个节点的位置。它会建立一个与集群的集群接待员ClusterReceptionist的连接。它会监视与接待员的连接,如果连接故障了,它会建立一条新的连接。当查找一个新的接待员时,它会从之前的建立获取新的联络点,或者周期性的刷翻译 2017-10-18 21:21:58 · 1543 阅读 · 0 评论 -
集群单例
集群单例对于某些使用场景,有时候需要强制确保集群中运行的某种类型的actor只有一个。一些例子:· 负责某些集群范围的一致性决定或者跨集群系统的动作协作的单点· 外部系统的单个进入点· 单个master,多个worker· 集中化的命名服务,或者路由逻辑使用单例不应该是首选的设计。它有一些缺点,例如单点瓶颈。单点失败也需要适当的考虑,但是对于一些场景,这个特性关心的是确翻译 2017-10-18 21:20:01 · 1459 阅读 · 0 评论 -
Duration
Duration在整个Akka库里面都在使用Duration,因此这个概念由特殊的数据类型scala.concurrent.duration.Duration表示。这个数据类型的值代表一个有限的或者无限(Duration.Inf, Duration.MinusInf)的持续时间,或者是Duration.Undefined.有限 vs. 无限由于尝试将有限的持续时间转换为一个具体翻译 2017-10-18 21:10:49 · 5778 阅读 · 0 评论 -
AKKA集群规范
AKKA集群规范注意:这个文档描述了集群的设计概念。1 引言 Akka集群提供了一个具有容错能力、去中心化、基于对等的集群成员资格服务,无单点故障,无单点瓶颈。它是使用gossip协议和自动故障检测做到这点的。2 术语节点(node):集群的一个逻辑上的成员。在一个物理机器上可能有多个节点。由hostname:port:uid元组定义。集群(cluster):通过成员翻译 2017-10-18 19:55:45 · 600 阅读 · 0 评论
分享