我正在使用AkkaTcp编写客户端和服务器应用程序,但我遇到了高吞吐量问题。当我在客户端写了太多消息时,我收到了太多CommandFailed消息,我不知道为什么......这是我的服务器:classServer(listener:ActorRef)extendsActor{importTcp._importcontext.systemIO(Tcp)!Bind(self,newInetSocketAddress("localhost",9090))defreceive={caseCommandFailed(_:Bind)=>{println("commandfailederror")c
我尝试使用Akka2.4.3将TCP流重定向/转发到另一个接收器。该程序应该打开一个服务器套接字,监听传入的连接,然后使用tcp流。我们的发件人不期望/接受我们的回复,所以我们从不发回任何东西——我们只是消费流。在构建tcp流之后,我们需要将字节转换为更有用的东西并将其发送到接收器。到目前为止,我尝试了以下方法,但我特别纠结于如何不将tcp数据包发送回发送方以及如何正确连接接收器的部分。importscala.util.Failureimportscala.util.Successimportakka.actor.ActorSystemimportakka.event.Loggingi
我想编写一个Scala客户端,它通过使用TLS的tcp连接来讨论专有协议(protocol)。基本上,我想在Scala中从Node.js重写以下代码:varconn_options={host:endpoint,port:port};tlsSocket=tls.connect(conn_options,function(){if(tlsSocket.authorized){logger.info('Successfullyestablishedaconnection');//Nowthattheconnectionhasbeenestablished,let'sperformtheha
设置如下:我希望能够通过tcp连接将消息(json转换为字节串)从发布者流式传输到远程服务器订阅者。理想情况下,发布者应该是接收内部消息、将它们排队然后将它们流式传输到订阅者服务器的角色,当然如果有突出的需求。我知道这样做的必要条件是扩展ActorPublisher类,以便在需要时onNext()消息。我的问题是,到目前为止,我只能向服务器发送(正确接收和解码)一次消息,每次都打开一个新连接。我没有设法理解akka文档,也无法使用ActorPublisher设置正确的tcpFlow。这是发布者的代码:defsend(message:Message):Unit={valsystem=Ak
我已经使用akka.io.tcp编写了客户端和服务器,但在读取客户端发送的消息时遇到了问题。我使用json发送消息。在客户端,我这样写消息:connection!Write(ByteString(msgString))在服务器端我有以下内容:overridedefreceive:Receive={caseReceived(data)=>listener!Json.parse(data.utf8String)casePeerClosed=>{contextstopself}}问题是akka一次读取多个消息,所以我得到一个无效的Json。有没有办法让akka一次只读一条消息?
我正在尝试使用Java和Akka创建我自己的基于REST的API。我已经使用Akka创建了我的主要算法实现。我的困惑是以如何实现它的REST部分的形式出现的。我见过的大多数示例和库都是专门针对Scala的,我目前正试图远离它。我认为Spray是一个不错的选择,但我认为它应该适用于Scala。但是,我知道Scala可以编译成Java字节码,而Java应该能够调用Scala,反之亦然。可以用Spray做到这一点吗?如果是这样,是否有在线的工作示例或教程?我在任何地方都没有运气。感谢您的帮助和时间。 最佳答案 我建议您使用playfram
我见过Akka的大多数用例参与者是高性能的多核服务器或本地集群。我很好奇它是否适用于更偏远的高延迟和高度失败群结构,例如p2p网络。我想到的应用程序将具有关于集群节点的可信任性和/或资源充足性的规则,从而赋予它们一些状态,就像bittorrent一样。它还需要能够尽可能地在整个群中传播事务,但最终或部分一致性是可以接受的。可扩展性比一致性更重要。AKKA是构建此类东西的潜在解决方案吗?与其他方法相比,它是否有任何特定的优势或劣势。 最佳答案 在这种情况下使用Akka的主要问题是Actor系统没有针对这种去中心化分布式计算的适当可扩展
在以下文档中,事件处理程序被描述为代替日志记录http://akka.io/docs/akka/1.2/general/event-handler.htmlThereisanEventHandlerwhichtakestheplaceofaloggingsysteminAkka:akka.event.EventHandler具体而言,此链接提供了一个示例,说明如何在使用slf4j时执行此操作:http://akka.io/docs/akka/1.2/general/slf4j.html我的问题是‘这有什么好处?“为什么我要这样做而不是仅仅使用使用标准模式的记录器?”importorg.
我很想知道如何测试AkkaActor的功能,通过模拟某些方法(用模拟的方法替换真实对象/actor的方法实现)。我使用akka.testkit.TestActorRef;此外:我尝试使用SpyingProducer但不清楚如何使用它。(就像我一样,如果我在它的实现中创建了actor,它就会和我现在拥有的一样)。关于那个的谷歌搜索结果不是很verbose.我使用powemockito和java。但这无关紧要。我很想知道原则上如何做到这一点使用任何框架的任何语言(soifyoudonotknowhowpower/mockitoworksjustprovideyourcode..(pleas
原始代码Akka教程有以下代码:http://doc.akka.io/docs/akka/2.0.2/intro/getting-started-first-java.htmlpublicvoidcalculate(finalintnrOfWorkers,finalintnrOfElements,finalintnrOfMessages){ActorSystemsystem=ActorSystem.create("PiSystem");finalActorReflistener=system.actorOf(Props.create(Listener.class),"listener"