据我所知,一个演员可以发送一个信息“火和忘记”的风格和!操作员,还是“发送和接收未来”样式?操作人员一个演员通过什么途径传递信息?必须调用self.reply,否则发件人将收到超时异常。另一方面,一个演员通过!如果消息未从其他参与者传递,则无法具有self.reply
我的问题是,参与者是否应该在编译时知道它是否会被调用!或或者,如果可以在运行时确定self.reply的必要性,那么如何确定?可能涉及self.tryReply,但akka文档似乎暗示,尝试回复失败是一种错误情况,而如果发送者不是
假设一个主管正在监督一个远程参与者。如果远程actor由于其整个Akka节点已终止而死亡,是否可以在新的Akka节点上恢复该actor,使其所有现有actorref保持活动状态
这是可能的
但是,我想简单地要求actor系统在一个随机的节点上创建一个actor,或者在一个使用率最低的节点上创建一个actor
有没有可能在任何远程节点上创建一个参与者,并提供一个可选的节点角色?在Akka 2.3中,您应该使用
可以让所有路由器知道集群中的成员节点,即部署新路由或查找集群中节点上的路由
因此,您可以在您的案例中使用RnadomPool、RoundRobinPool或BalancingPool路由器
另见
如果我有一个参与者向另一个参与者发送消息,我是否应该在每次我想向该参与者发送消息时获取对该参与者的引用(例如,context.actorSelection(somePath)),或者我可以在我的参与者初始化后执行一次,然后重用ActorRef?您可以重用ActorRefs,这就是他们的目的
我认为需要区分参与者失败并被其主管重新启动和参与者被明确停止。如果您有一个以某种方式获得的ActorRef(通过ActorSelection查找并解决它,或者在创建时碰巧有它),并且底层actor实例失败并由
有没有办法等到邮箱(和存储)中的所有邮件在整个ActorSystem中处理完毕?
我正在尝试开发基于Akka的系统集成测试体系结构。使用类似actorSystem.AwaitAllWorkOne()的方法会很方便,在这种情况下,任意测试如下所示:
启动由许多参与者组成的整个环境
正在测试发送消息触发功能
调用actorSystem.AwaitAllWorkOne()。等待所有消息被处理,包括从步骤2发送的消息和它引起的所有内部通信消息。例如,来自步骤2的消息触发了发送给其他参与者的10条其他消息
我正在尝试将以下代码从Scala转换为Java:
object ChunkedStaticResponse {
private def createStaticSource(fileName : String) =
FileIO
.fromPath(Paths get fileName)
.map(p => ChunkStreamPart.apply(p))
private d
我有一个微服务应用程序,其中我有一组演员,每个演员都扮演一个数字孪生兄弟,比如说一个发电机组。这个演员从发电厂得到信息,对于我得到的每一条信息,我都会改变我演员的状态
还有另一个上游微服务,它实际读取每个参与者的状态机状态。到目前为止还不错
我现在想要内置冗余。这意味着我希望运行包含状态机的多个微服务实例。现在的问题是上游系统如何看到单个发电厂的一致状态?上游系统从它们通过HTTP端点请求微服务时获取状态消息,即发电厂的当前状态
我发现有几种可能性可以复制包含状态机的Akka actor,但我不
我正在阅读Akka文档,试图了解它是如何工作的。具体地说,我正在努力理解
Akka使用命名约定,根据特定参与者在参与者“树”中的位置及其名称设置其路径
我的理解是
所有参与者都可以在名为/user/
创建时(通过actorSystem.actorOf(Props[ActorClassImpl],name=“SomeName”))为所有参与者提供一个名称
参与者的“路径”是/user/前缀加上层次结构路径(见下文)加上其名称
“层次路径”只是/user/和参与者之间所有父对象的斜杠分隔的缩合
标签: Akka
akka-streamakka-httpakka-clusteralpakka
我有一个带有声明的AMQP源和AMQP接收器:
List<Declaration> declarations = new ArrayList<Declaration>() {{
add(QueueDeclaration.create(sourceExchangeName));
add(BindingDeclaration.create(sourceExchangeName, sourceExchangeName).withRoutingKey(so
标签: Akka
akka-streamakka-kafka
我们有一个Akka应用程序,它使用Kafka主题并将收到的消息发送给Akka参与者。我不确定我编程的方式是否充分利用了Akka Streams内置背压机制的所有优点
以下是我的配置
val control : Consumer.DrainingControl[Done]
Consumer
.sourceWitOffsetContext(consumerSettings, Subscriptions.topics("myTopic"))
.map(consumerRecor
我们正在尝试在应用程序中使用基于Akka文件的持久邮箱。很少有关于如何维护和持久化消息队列的查询
在测试期间,我观察到队列中位于“_mb”文件夹下的条目每隔一段时间就会被清除。我观察到,当队列大小大于20Mb时,当参与者不再接收任何消息时,队列被清除
在实际的生产用例中,这个参与者将不断地被消息轰炸。我试图对此进行模拟,发现队列大小增加到150Mb以上
只是想知道清除/清除这些条目背后的限制和算法
假设“_mb”文件夹下的队列文件大小为1Gb。如果我重新启动我的应用程序,akka会尝试将大量这些
标签: Akka
akka-streamakka-http
尝试创建http客户端/流时,此代码似乎不再有效:
lazy val myConnectionFlow =
Http().outgoingConnection("localhost", port).flow
def myRequest(request: HttpRequest): Future[HttpResponse] =
Source.single(request).via(myConnectionFlow).runWith(Sink.head)
flow方法似乎不再可用。它真的
我使用graph dsl根据我看到的一些示例代码创建了一些流处理作业。一切都运行得很好,我只是在理解符号方面有困难:(更新为2.4)
def元素:源[Foos]=。。。
def logEveryNSink=//记录日志的接收器
def清洁剂:流量[Foos,bar,Unit]=。。。
def boolChecker(bar:bar)(隐式ex:ExecutionContext):Future[Boolean]=。。。
val mySink=Sink.foreach[Boolean](printl
我正在编写一个自定义指令,使用cats.XorT来包装我的未来[Xor[a,B]]。我编写了以下代码:
def authenticateOrRejectWithChallenge[T](authenticator: Option[HttpCredentials] ⇒ XorTFuture[T]): AuthenticationDirective[T] =
extractExecutionContext.flatMap { implicit ec ⇒
extractCrede
标签: Akka
java-7akka-stream
为了开发能够在JVM1.7上运行的Akka Streams应用程序,sbt文件中的正确依赖关系是什么
目前我有以下几点:
规模厌恶度:=2.11.7
com.typesafe.akka%akka-stream_2.11%2.4.14自2.4.0以来包含的任何内容都不适用于Java 7请参阅
最后一个可用的是2.0.5,请参见
com.typesafe.akka%akka-stream-experimental_2.11%2.0.5自2.4.0以来的任何内容都不能与Java 7一起使用,请参见
最
标签: Akka
shardingakka-cluster
我正在将单节点akka actor系统应用程序更改为akka群集。一个变化是将一种类型的有状态参与者(在运行时可以是多个)变成集群分片管理的实体。现在它可以在多个节点上正常工作
我面临的一个问题是如何查询(获取所有)集群中分片区域创建的实体。以前在单节点模式下,它使用actor系统ActorSelection进行actor路径匹配,以获得匹配的actor列表,这在集群切分中不再起作用
我想知道Sharding Region是否有一些用于查询其实体的内置支持
您需要所有参与者系统都位于同一集群中。
假设我有两个远程节点A和B,它们都通过TCP彼此可见,并且都运行ActorSystems
节点A的类路径中有一个包含Actor Foo的jar。节点B不存在
如果节点A上的ActorSystem告诉节点B在其ActorSystem中远程创建一个Foo Actor,这会起作用吗?Foo的字节码是否会通过网络发送给B,或者节点B是否需要/期望在其类路径中包含Foo?不,它不会工作。当节点A上的actor系统告诉节点B上的actor系统创建一个Fooactor时,节点A不会创建actor并通过线路发送
我看到了Akka溪流背压的概念,但我的项目没有使用Akka溪流,我开发了另一个Akka背压指示器的概念,我想问一下它是否可行
我正计划使用邮箱队列的深度作为标准,以用作背压……其背后的逻辑是,如果Akka能够跟上我生成消息的速度,那么消息队列的深度应该是浅的。如果我发送了太多的消息,而Akka无法跟上,那么消息队列中将有越来越多的消息,我必须降低生成消息的速度
这与Apache Cassandra的“飞行中请求”基本相同
Session.State state = session.getStat
我使用的是spark 0.90独立模式
当我尝试在独立模式下使用流媒体应用程序时,我遇到了一个连接被拒绝的异常
我在/etc/hosts中添加了主机名,也尝试单独使用IP。在这两种情况下,工人在master注册时没有任何问题
有没有办法解决这个问题
14/02/28 07:15:01 INFO Master: akka.tcp://driverClient@127.0.0.1:55891 got disassociated, removing it.
14/02/28 07:15:04 INFO
我使用akka演员来完成一些预定的任务,比如在预定的日期/时间进行现场投票。
这样我就创造了一个演员
final ActorRef pollActor = pollSystem.actorOf(new Props(
new UntypedActorFactory() {
public UntypedActor create() {
return new PollActor(po
标签: Akka
akka-persistent-fsm
我将akka与PersistentFSM一起使用,希望能够在应用事件后使用stateData值回复消息
when(StartedState) {
case Event(..., ...) =>
...
stay applying BidPlaced(...) replying BidPlacedReply(stateData)
}
BidPlacedReply是一个具有apply方法的对象,该方法允许基于我的stateData的某些字段构造BidP
标签: Akka
akka-clusterhazelcast-imap
我想添加一张Hazelcast地图`
class appListner extends Actor with EntryAddedListener[String, String]{
override def entryAdded(event: EntryEvent[String, String]): Unit = {
logger.info("Entry Added:" + event)
// i want to update my local cache using
标签: Akka
routerdead-letterscaldi
目前,我正在努力使用Borthi实现Akka路由器逻辑以进行依赖注入。既然我的actor是一个路由器,我只想要它的一个实例,为什么我不能用sphorti绑定到一个actor实例?
我问这个问题的方式是
我的电脑模块:
class DAOModule extends Module {
bind toProvider new UserDaoWorker
binding to new UserDaoRouter
}
这样,只创建一个实例,只要我多次注入路由器,它就会从发送方方法中获得一个死信
标签: Akka
protocolscompatibilityakka-remote-actor
虽然akka有关于drop-in-jar替换的二进制兼容性的文档,但我找不到任何关于协议二进制兼容性的文档
在基本级别上,actor API是一个消息邮箱。因此,只要消息保持二进制兼容,就有可能将消息发送到运行不同(jar不兼容)版本akka的其他系统
因此:
2个具有固定消息集的应用程序
无键入的参与者(仅使用actor!消息和actor?消息)
使用akka 2.3.9的“应用1”
akka“应用程序2”的最早版本可以使用什么?
我想确认的其他项目:
协议在这里是不相关的-每个应用程序
我想以控制发送到服务器的最大请求数的方式配置spray http客户端。我需要这个,因为我发送请求的服务器会阻止我发送超过2个请求。我明白了
akka.pattern.AskTimeoutException: Ask timed out on [Actor[akka://smallTasks/user/IO-HTTP#151444590]] after [15000 ms]
akka.pattern.AskTimeoutException: Ask timed out on [Actor[akk
标签: Akka
msmqdistributed-computingakka.net
在我尝试使用MSMQ与具有多个模块和实体的大型系统“解耦”和a同步过程的过程中,我已经迈出了几步。最近我被告知应该考虑Akk.NETFrand,我已经开始研究它。现在我有点犹豫了,不知道该怎么做。
我更熟悉MSMQ,我认为实现起来会更容易,所需的代码更少。我只需要在DAL(数据访问层)中生成适当的消息,感兴趣的各方(处理者)就会接收它们。
我在比较苹果和桔子吗?任何小费都将不胜感激
我在比较苹果和桔子吗
我想你把苹果比作橙汁工厂
MSMQ是一个点对点、存储和转发Windows消息子系统
AKKA
标签: Akka
event-sourcingakka.net
我正在我的项目中使用Akka.NET
我想知道,我是否能保证信息的接收顺序与发送给自我参与者的顺序相同
例:
问题:msg1会在msg2之前处理吗
msg1会在msg2之前处理吗
是,如果参与者在发送和接收两条消息时都处于活动状态,并且参与者的邮箱具有FIFO实现(这是默认设置)。Akka.NET(和Akka)保证在使用Tell时,每个发件人都可以对邮件进行排序,前提是邮件已实际送达且收件人的邮箱为FIFO。即使发送者和接收者是同一个参与者,情况也是如此
Self.Tell(msg1);
Sel
我正在玩Akka集群,我有一个2节点的设置。正如预期的那样,这两个节点通过心跳相互聊天,表示它们是活动的。所以每秒钟我的日志中都有这样的字符串
[debug] 15:42:10.683-a.c.ClusterHeartbeatSender: Cluster Node
[akka.tcp://application@127.0.0.1:52650] -
Heartbeat to [akka.tcp://application@127.0.0.1:2551]
但是,我不希望看到这个诊断,
我有一个akka streams应用程序,它在处理过程的中途执行一些IO副作用,这些副作用被包装在未来的中。通常我会通过mapsync进行此调用,但在成功调用后,我需要缓存上一个元素的信息,即IO调用是根据上一次调用的结果生成的。
Akka网站上提供的示例Map实现非常简单,但是mapsync的实现更复杂。是否有任何样板或子类可用于实现带有异步操作的GraphStage?我的倾向是,onPush和onPull在产生结果并替换之前,需要检查“持有”的未来是否完成
另一方面,我也可以用ask模式将此
标签: Akka
akka-persistence
当系统重新启动时,context.children()调用为特定父级返回零个子级。在重新启动之前,context.children()返回父级拥有的子级的实际计数
有人能告诉我重新启动后如何为家长获取儿童ActorRef吗
我的用例是:
在重新启动之前,假设有一个父级的5个子级。现在,我想计算绩效,为了计算绩效,我需要这5个孩子的参与。所以,在重新启动之后,我可以向所有的孩子发送相同的消息,之后孩子们将工作并响应家长。然而,重启后,我甚至不知道孩子们是谁。那么,解决这类问题的最佳方法是什么呢?一
标签: Akka
akka-persistence
我知道事件源是关于存储表示状态变化的事件,而不是状态本身。在我的例子中,我从卡夫卡那里得到消息,每条消息都用JSON编码,有50个字段,比如{key1:val1,key2:val2,…..key50:val50},每条消息都有这些键的全部或子集。现在,我的目标是将这些消息流存储为Cassandra中的事件,而要存储状态更改,我始终需要知道当前状态才能看到下一个请求引起的状态更改,但我想知道这是如何实现的,或者更重要的是,数据存储中的数据会是什么样子?数据存储中的事件可能是这样的(存储在sql数据
如中所述,可以将可重用组件(如lineSink)写入文件
我想知道如何从文档中重写lineSink组件,以满足以下场景:
val source = Source(1 to 10)
val flow = Flow[Int].map(_.toString)
/** Rewrite of the lineSink to enable new files with content */
val fileSink = Sink[String, Future[IOResult]] =
Flow[St
akka http文档提供了查询http服务的示例:
我如何告诉akka http自动遵循重定向,而不是接收代码==302的HttpResponse
akka 2.5.3,akka http 10.0.9
import akka.actor.{ Actor, ActorLogging }
import akka.http.scaladsl.Http
import akka.http.scaladsl.model._
import akka.stream.{ ActorMaterializer,
标签: Akka
akka-persistence
我正在为一个项目评估Akka,并试图通过将参与者状态保存在高可用性数据存储中,来确定我是否能够通过Akka持久性实现服务的高可用性。(我不想使用Akka集群)
我理解保存actors状态的概念,但是我正在努力找到一种方法,在备份主机上恢复失败(崩溃)的服务时重新创建actors(而不是actors状态)
在我的设计中,有许多动态创建的参与者,只有少数是在服务启动时创建的
我怎样才能知道恢复后我必须创造什么样的演员?还是我试图做一些根本错误的事情?我认为你的问题不准确。例如,您会问如何找出恢复时必
我们使用的是ODL(Opendaylight)氮气版本。我们正在探索使用氮气版本支持集群(本地和地理冗余)的选项。我们想知道是否可以跨集群中的各个节点仅复制“配置”数据树,并避免复制“操作”树,以最大限度地减少整个WAN的带宽使用。数据树被细分为碎片,并为每个碎片创建配置和操作组件,但没有办法(目前)仅为可操作的碎片组件禁用复制。现在,如果配置数据和操作数据位于不同的模块中,那么可以使用配置数据碎片复制和操作数据碎片非复制分别为每个模块配置单独的碎片 谢谢你的回复。是否可以使用自定义实现来实现这
阿克卡似乎梦想成真。遗憾的是,与其他许多软件一样,文档和示例在某些主要方面都缺乏。既然问题的关键是提供非阻塞、并行io,那么为什么它们会提供一个只返回字符串的hello world呢。这里有一个疯狂的想法:每个单词都有一个代理,通过在网络上调用某个内容将其翻译成另一种语言,然后返回结果
今天,我在阅读有关未来和承诺的文档时兜了一圈。一个有效的例子就可以避免整个事情
我在java并发包中用Future做了很多并发编程。出于某种原因,阿克卡的事情似乎太复杂了。我正在做一件与我上面描述的非常接近的事情
标签: Akka
lazy-evaluationactorrouter
过去两天我一直在学习演员,我想创建一个即将过期的缓存。现在我们使用一个租户模型,所以我希望每个租户都由一个参与者表示。我希望在需要时创建这些参与者,并在空闲一段时间后超时
为了解决这个问题,我模拟了以下内容,因为我不知道提供的解决方案,并且正在寻找对该方法的任何批评或验证
//A simple Message carrying just the name of the actor
case class Message(name:String)
//Actor that will expir
我一直致力于在我们的应用程序中集成有保证的actor消息传递
我正在查看邮件重播部分-。我们的应用程序将收到大量消息,我们不希望在应用程序重新启动时重播从头开始。这将大大增加我们的应用程序启动时间
因此,正如wiki中所建议的,我们计划从一个较高的序列号开始重播。因此,我们的应用程序必须有一些逻辑来定义这个较高的序列号
我想知道是否有一种简单的方法可以查询eventsourced框架,以找到成功确认消息的最高序列号。在这种情况下,我们不需要在我们的应用程序中写入任何逻辑,我们可以从这个最高的序列
我使用一个Akka参与者连接到一个推特流API,然后将每条推特的处理分给另一个参与者进行处理
我偶尔会看到Twitter关闭HTTP连接时出现错误,这是因为有时我认为我的连接从流中读取数据的速度太慢
Twitter将关闭流媒体连接,原因如下:
如果从流中读取推文的速率突然下降,则连接
将关闭
客户端读取数据的速度太慢。
每个流式连接都有一个发送到客户端的消息队列作为后盾。
如果此队列随时间增长过大,则连接将中断
关闭
这是我的堆栈跟踪:
[WARN] [08/23/2014 17:04:43.1
在代码上下文中,什么是实际的参与者。是java类扩展了UnTypedActor吗?i、 e.1名演员=1个班级。
如果是,我们是否有多个使用actorref的简单引用实例。同一参与者的多个actorref实例之间有什么不同
我们所说的参与者失败或参与者重新启动是什么意思?我们只是用最后一个持久化的数据变量重新加载类吗?参与者的行为由其代码中的类表示
在运行时,一个逻辑参与者在系统中有一个(但并不总是相同的)实例(在GC之前,内存中可能有更多实例)
一个类可能对应于多个逻辑参与者-每个都有不同的
标签: Akka
akka-clusterakka-io
我必须在akka集群中从一个参与者向多个参与者发送大约200MB大小的大型消息。我试过使用akka消息,但它超时了,因为它需要很长时间
实现这一点的最佳方式是什么?我在某个地方读到,我们需要使用Akka IO来完成这些任务,但我找不到足够的文档说明如何使用它。一般的方法是使用HTTP、Torrent或其他更适合大文件传输的技术来服务大文件。使用akka只将资源的地址发送给所有相关的参与者。我需要在内存对象中通信。使用您提到的任何一种方法都可以吗?
我正在尝试在windows下设置typesafe activator UI
当我第一次运行它时,我遇到以下错误:
C:\sandbox\typesafe-activator-1.3.6>activator
正在获取org.fusesource.jansi jansi 1.11。。。
您可能通过不是我们的代理服务器访问目标服务器
ll已配置
根据activator自述文件,我在C:\Users\.activator\activatorconfig.txt下创建了activatorconfig.tx
因此,我有两种可能获得一个儿童演员实例:
通过使用context.actorSelection,它返回一个Future[ActorRef]
那么我应该选择哪一个?为什么
我知道使用actorSelection,我可以是异步的,但是还有什么其他原因支持其中一个而不是另一个呢?除非您对您的子角色使用远程部署,在这种情况下,我不知道该回答什么,或者您想获得对子角色的引用,我认为不应该使用get-ActorRef via context.actorSelection来获取对子角色的引用
context.
标签: Akka
akka-streamakka-httpalpakka
我们正在使用alpakka最新的S3连接器下载流,但由于最大长度错误而失败
as超出了内容长度限制(8388608字节)!您可以通过设置`akka.http.[server | client].parsing.max content length`或在具体化数据字节流之前调用`HttpEntity.withSizeLimit`进行配置。、流作为源(从S3下载文件)以及使用调用AMQP服务器的流
JavaAMQP客户端库,当我们流文件少于8M时,它会处理但较大的文件并没有处理并抛出错误
上面突出显
我正在从远程位置(ftp)读取CSV文件,该文件的列数无效
当文件中遇到此类行时,Steam不会继续进行。我需要用错误消息跳过它们并继续
这是我尝试过的,监督策略不起作用
source.via(CsvParsing.lineScanner()。带有属性(ActorAttributes.supervisionStrategy(throwable->Supervision.resume()))
我需要跳过带有错误消息的无效行并继续
示例数据:My Csv每行有5个字段
1281,Export - P
我有一个复制因子为3的pod。应用程序将度量值置于端口9001。我想让普罗米修斯接线员把这些指标删掉。使用stable/prometheus操作员舵图时,我的值.yaml中有以下内容
prometheus:
prometheusSpec:
additionalScrapeConfigs:
- job_name: 'akka-metrics'
scrape_interval: 15s
kubernetes_sd_configs:
- role
标签: Akka
akka-clusterakka-persistence
假设我们有两个节点。节点1包含参与者A,节点2包含参与者B
假设两个参与者之间的通信是这样实现的:
val B_ref = sharding.entityRefFor(BTypeKey, B_ID)
//inside A
context.ask(B_ref, message(replyTo =_) {
//... Translate B reply to A command
}
消息发送后,节点1死亡,参与者A重新定位。等待B回复的问题的“未来”会怎样?我假设由于节点死亡,未来就不
我有一种情况,我有一个组件和一个用户列表。我需要向每个用户发送一封电子邮件,然后更新用户的记录以指示发送电子邮件的时间
这似乎是Akka的一个很好的第一个用例。我认为获取用户列表的组件将是一个参与者,并且将为每个出站电子邮件发送参与者创建一个单独的参与者,可以是多线程的。发送电子邮件的参与者将负责更新用户记录中的日期
如果电子邮件发送参与者失败,用户的记录将无法完成,并且主管参与者将能够重新安排它
那是正确的型号吗?或者主管是否应负责更新用户记录
或者这对Akka来说是一个糟糕的用例
顺便说一句
标签: Akka
akka.netactor-model
我的团队正在讨论我们的演员应该有多精细
例如,我们有一个参与者负责将json字符串反序列化为对象。支持将其变为参与者的理由是,反序列化可能导致错误,参与者及其监控模型可用于控制流
使用参与者执行此任务和其他小任务是否是一个好主意?是的,将通常容易失败的任务委托给处理特定任务的子参与者是一个好主意。这种模式在Petabridge博客上被称为,但在下文中重申,以防将来链接中断
当应用程序要执行一些危险但关键的操作,但需要保护其他参与者中包含的关键状态并确保没有负面副作用时,可以使用角色参与者模式
简
标签: Akka
amazon-sqsakka-streamalpakka
Im使用Akka Streams和alpakka.sqs.scaladsl从sqs队列读取消息
我已经做过很多次了,但现在我上传了一个版本,将队列名称放在源代码中,而不是一直这样做的队列url
我以前就是这样做的:
SqsSource(queue.getUrl)
现在我做到了:
SqsSource(queueName)
两种情况都有效
url前缀在所有队列中都是相同的,所以我认为alpakka或AmazonSqAsync对此或其他东西有一些隐含的含义,有人知道如何解释吗?谢谢Alpakka没
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 23 页