我有相当多的Apache Camel(路由/中介/Orchestation Engine;轻量级ESB)经验,正在绞尽脑汁地试图理解AKKA:
Dispatcher
,PinnedDispatcher
,CallingThreadDispatcher
)根据文件:
调度员是:
将路由创建为子参与者,并在路由终止时将其从路由器中删除的路由器的[一种类型]。
组包括:
[一种类型的]执行元[其中路由]是在路由器外部创建的,路由器使用执行元选择将消息发送到指定路径,而不监视终止。
dispatcher基本上是一个线程池。Akka使用dispatcher进行多项操作(比如在正确的邮箱中对消息进行排队,或者从actor邮箱中提取消息并对其进行处理)。每次需要执行其中的一个操作时,都会从线程池中选择一个线程并将其用于该操作。Akka默认带有default-dispatcher
配置,您可以在reference.conf中搜索default-dispatcher
。您已经在使用default-dispatcher
,但是您可以定义一个不同的dispatcher,以确保您有一个用于其他目的的保留线程池(例如,在使用akka-remote或akka-cluster时用于netty线程)。
Akka中的路由器是使用某种路由逻辑将消息路由到路由列表的参与者。根据逻辑的不同,路由器有很多种类型:广播、平衡、轮询...你可以在akka文档中找到它们。路由器的路由可以是池或组。路由器最流行的一个用例是垂直扩展应用程序,这意味着最大限度地利用系统中所有可用的CPU(同时使用多个线程)。
池意味着为给定类型按需创建路由。例如,您可能需要一个包含3个实例的MyFancyActor
的RandomPool
。Akka将创建myfancyactor
的三个参与者,以及第四个作为实际路由器的参与者。路由器执行元每次获得消息时,都会将消息转发给3个MyFancyActor
执行元之一。池负责重启参与者并监视它们的生命周期,以确保您有n个实例在运行。
组表示在您定义路由器之前创建路由。定义路由器后,需要传递先前创建的路由执行元列表。一个小组将不会监视您的演员的生命周期,您将需要自己做这件事。
事件总线是一个通道,您可以在其中订阅特定类型的消息。如果有一个特定类型的消息,您的演员将得到它。这用于某些Akka内部功能,如在消息无法到达其目的地时订阅deadletter
,或与集群形成有关的事件(在akka-cluster中)。您将使用它来了解ActorSystem
中发生的事件。
本文向大家介绍Windows消息传递机制详解,包括了Windows消息传递机制详解的使用技巧和注意事项,需要的朋友参考一下 对于windows程序设计,这里有几个关键词需要注意:消息,消息循环,窗口过程。 所谓的Windows消息传递机制就类似于生活中的物流公司。当寄件人(例如鼠标、键盘)将包裹(消息)交给物流公司(Windows系统)时,物流公司(Windows系统)会进行整理并且派发(整理
主要内容:本节引言,1.学习路线图:,2.Handler类的引入:,3.Handler的执行流程图:,4.Handler的相关方法:,5.Handler的使用示例:,本节小结本节引言 前两节中我们对Android中的两种事件处理机制进行了学习,关于响应的事件响应就这两种;本节给大家讲解的 是Activity中UI组件中的信息传递Handler,相信很多朋友都知道,Android为了线程安全,并不允许我们在UI线程外操作UI;很多时候我们做界面刷新都需要通过Handler来通知UI组件更新!除了用
我遇到了在多个请求下扩展应用程序的问题。 每个请求都向一个参与者发送一个ask,然后生成其他参与者。这是很好的,但是,在负载下(一次5个以上的询问),会花费大量的时间将消息传递给目标执行元。最初的设计是均匀地隔离请求,但这造成了一个瓶颈。示例: 在此图片中,是在查询计划解析程序之后发送的。但是,当执行元接收到此消息时有一个多秒的间隔。这只在负载(5+请求/秒)下才会出现。我最初以为这是一个饥饿的问
由于内容脚本在网页而不是扩展程序的上下文中运行,因此它们通常需要某种与扩展程序其余部分进行通信的方式。例如,RSS 阅读器扩展程序可以使用内容脚本来检测页面上 RSS 摘要的存在,然后通知后台页面以显示该页面的操作图标。 扩展及其内容脚本之间的通信使用消息传递来实现。任何一方都可以监听从另一端发送的消息,并在同一通道上进行响应。消息可以包含任何有效的 JSON 对象(空,布尔值,数字,字符串,数组
ms tcp nodelay 描述: 在信差的 TCP 会话上禁用 nagle 算法。 类型: Boolean 是否必需: No 默认值: true ms initial backoff 描述: 出错时重连的初始等待时间。 类型: Double 是否必需: No 默认值: .2 ms max backoff 描述: 出错重连时等待的最大时间。 类型: Double 是否必需: No 默认值: 15
消息传递 目录 一次简单的请求 h3Name 长时间保持连接 h3Name 扩展之间的消息传递 h3Name 安全策略 h3Name 范例 h3Name API reference Properties propertyName Methods methodName Events eventName Types id For information on how to use experiment