我正在开发一个具有以下要求的项目:
我尝试使用驼峰一段时间但是,无法用它执行某些任务。 所以考虑尝试阿卡。 akka能否满足上述要求?
如果在akka或代理示例中有负载平衡示例吗?
非常感谢一些反馈。
答案 0 :(得分:2)
你可以用Akka完成你所描述的一切。
您没有提到您正在使用的语言,Scala或Java。我已经包含了Scala文档的链接。
在您使用Akka做任何事情之前,您必须阅读文档并了解Akka的工作原理。
http://doc.akka.io/docs/akka/2.0.3/
这样做,你会发现Akka非常适合你所描述的项目以及一些小问题。
阅读完文档后,以下答案应该很有意义。
在多个后端服务器上执行基于粘性的负载平衡(基于SOAP会话ID)。
负载均衡已经是框架的一部分(在Akka中称为路由http://doc.akka.io/docs/akka/2.0.3/scala/routing.html)和Remoting(http://doc.akka.io/docs/akka/2.0.3/scala/remoting.html)将负责后端服务器。你可以轻松地将两者结合起来。
据我所知,粘性负载平衡的想法不是Akka的一部分,但是我可以设想这是通过使用会话ID作为键并使用Actor名称(或路径)作为值来实现的。一个快速的演员将负责其余的事情。没有仔细考虑,但应该让你知道从哪里开始。
可以插入我自己的基于自定义的负载均衡器。
请参阅路由文档。
易于编写和部署。
这取决于您的能力和努力,但在您阅读文档的某些部分后,您应该在几个小时内构建一个概念验证。
部署可能有点令人沮丧,主要是因为在使用远程组件部署Akka网络时,文档并不是很好。但是,网上有足够的例子,你可以弄清楚如何完成它......最终。一旦你做了它没什么大不了的。
中央配置文件(可能是XML),用于处理所有后端服务器。
Akka使用Typesafe配置(https://github.com/typesafehub/config),它比XML更容易使用(但我讨厌XML,所以要考虑到这一点)。至于一个中心配置,我不确定你想要完成什么但听起来像是可以使用远程actor创建解决的东西。再次,请参阅Remoting文档。
从此配置文件中轻松提取节点(可能使用xpath)。
Akka提供了一个查找方法.actorFor。系统启动并运行后无需转到配置文件。
如果在akka或代理示例中有负载平衡示例吗?
Google是你的朋友。