Tag: 阿卡

如何限制演员消息到特定的types?

在Akka中 ,除了使用使用RPC风格的编程模型的“Typed Actor”API之外,有没有办法将消息限制为actor的特定静态types? 我可以在Akka上使用消息传递风格,而不需要在actor边界处抛弃静态types安全吗? 例如,我想使用这样的代码: sealed abstract class FooMessage case object Foo extends FooMessage case object Bar extends FooMessage class FooActor extends Actor[FooMessage] { def receive = { case Foo => () // OK // Would raise a compiler error: // case s: String => error("Can't happen, String is not a subtype of FooMessage") } […]

Spray,Akka-http和Play,这是新的HTTP / REST项目的最佳select

我将使用Scala和Akka Actor来开发新的HTTP / REST服务。 我有使用Play的经验,但是我并不需要一个完整的Web框架。 从我读到的,我认为喷雾是一个合适的select。 我的问题来自于新到达的AKKA-HTTP之后Spray的未来。 Spray项目是否将独立于Akka-HTTP项目发展,还是两个项目将合并成一个Akka-HTTTP? 如果我开始使用Spray进行开发,这会带来什么影响? 另外我读了Play将整合AKKA-HTTP。 所以我终于想知道是不是应该玩Play? 谢谢你的帮助。

阿卡在演员外面login

我有一个Akka Actor来调用MyObject.foo()。 MyObject不是一个Actor。 我如何设置login? 与一个演员很简单,因为我可以混入ActorLogging。 在MyObject中,我无法访问context.system。 我是否使用AkkaSystem()创buildakka.event.Logging,然后LogSource是隐式的?

在斯卡拉Akka,感叹号和问号

发送信息给演员时,感叹号( ! )和问号( ? )有什么区别? myActor ! new hello(value1) myActor ? new hello(value1)

Akka如何在Play中使用?

Play的主页说: Play基于Akka构build,为高度可扩展的应用程序提供可预测且最小的资源消耗(CPU,内存,线程)。 我想知道在Play中使用Akka的方式和位置,以及在Akka之上构buildPlay的后果是什么。

不同的Scala Actor实现概述

我试图find“正确”的演员实施。 我意识到有一堆他们,挑一个有点混乱。 就我个人而言,我对远程演员特别感兴趣,但是我认为一个完整的概述会对其他人有所帮助。 这是一个相当普遍的问题,所以请随时回答你所知道的实现。 我知道下面的Scala Actor实现(SAI)。 请添加缺less的。 斯卡拉2.7(区别于) 斯卡拉2.8 Akka( http://www.akkasource.org/ ) 电梯( http://liftweb.net/ ) Scalaz( http://code.google.com/p/scalaz/ ) 这些SAI的目标用例是什么(轻量级与“重”的企业级框架)? 他们是否支持远程演员? 远程参与者在SAI中有什么缺点? 他们的performance如何? 社区有多活跃? 他们开始有多容易? 文档有多好? 他们有多容易延伸? 他们有多稳定? 哪些项目正在使用它们? 他们有什么缺点? 他们的devise原则是什么? 他们是基于线程还是基于事件(接收/反应)还是两者? 嵌套接收 热衷于演员的消息循环

阿卡的演员与斯卡拉的演员模型有什么区别

我发现还有一个阿卡演员模型,所以我想知道阿卡的演员和斯卡拉的演员模型之间有什么区别?

阿卡或反应堆

我正在开始一个新的项目(基于Java的)的过程。 我需要把它build设成一个模块化,分布式和弹性的架构。 因此,我希望业务stream程能够互相通信,互通,而且是独立的。 我现在看到的是两个框架,除了年龄的不同之外,还expression了两种不同的观点: Akka( http://akka.io ) 反应堆( https://github.com/reactor/reactor ) select上述框架之一时我应该考虑什么? 据我了解,到现在为止,Akka仍然以某种方式耦合(我必须“select”我想发送消息的演员),但是非常有弹性。 虽然反应堆是松散的(根据事件发布)。 有人能帮我理解如何做出正确的决定吗? UPDATE 在回顾了Akka的Event Bus之后,我相信在某些方面,反应堆所expression的特征已经包含在Akka中。 例如,在https://github.com/reactor/reactor#events-selectors-and-consumers上logging的订阅和事件发布可以在Akka中expression如下: final ActorSystem system = ActorSystem.create("system"); final ActorRef actor = system.actorOf(new Props( new UntypedActorFactory() { @Override public Actor create() throws Exception { return new UntypedActor() { final LoggingAdapter log = Logging.getLogger( getContext().system(), this); @Override public void onReceive(Object message) […]

Scala中的多个Actor是如何实现的?

随着Scala 2.9.0的发布,Typesafe Stack也被宣布,它将Scala语言与Akka框架相结合。 现在,尽pipeScala在其标准库中有演员,但Akka使用自己的实现。 而且,如果我们寻找其他的实现,我们也会发现Lift和Scalaz也有实现。 那么,这些实现有什么区别呢?

何时使用参与者而不是消息解决scheme(如WebSphere MQ或Tibco Rendezvous)?

我已经阅读过什么样的devise决定会赞成Scala的Actor而不是JMS的问题和答案? 。 通常,我们使用已存在多年的消息传递解决scheme:使用诸如WebSphere MQ或Apache ActiveMQ之类的JMS实现进行点对点通信,或者使用Tibco Rendevous进行多播消息传递。 它们非常稳定,经过validation,可提供高可用性和高性能。 尽pipe如此,configuration和设置似乎比阿卡更复杂。 何时以及为什么我应该使用Akka来处理上述产品(WebSphere MQ或ActiveMQ)已经成功使用的情况? 为什么我应该在未来的项目中考虑使用Akka而不是WebSphere MQ或Tibco RV? 什么时候我应该避免阿卡? 它是否提供与其他解决scheme相同的高可用性和性能? 或者将Akka与其他消息中间件进行比较,这是不是一个好主意? 也许除了JMS(点对点),TibcoRV(多播)和Akka之外,JVM环境中还应该考虑另一个消息传递解决scheme?