我正在从事一个具有以下要求的项目:
- 在多个后端服务器上执行基于粘性的负载平衡(基于 SOAP 会话 ID)。
- 可以插入我自己的基于自定义的负载均衡器。
- 易于编写和部署。
- 一个中央配置文件(可能是一个 XML),用于处理所有后端服务器。
- 从此配置文件中轻松提取节点(可能使用 xpath)。
我尝试使用骆驼一段时间,但无法使用它执行某些任务。所以想试试阿卡。akka 有可能满足上述要求吗?
如果是这样,akka 或代理示例中是否有负载平衡示例?
非常感谢一些反馈。
我正在从事一个具有以下要求的项目:
我尝试使用骆驼一段时间,但无法使用它执行某些任务。所以想试试阿卡。akka 有可能满足上述要求吗?
如果是这样,akka 或代理示例中是否有负载平衡示例?
非常感谢一些反馈。
你可以用 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)和远程处理(http://doc.akka.io /docs/akka/2.0.3/scala/remoting.html) 将负责后端服务器。您可以轻松地将两者结合起来。
据我所知,粘性负载平衡的想法不是 Akka 的一部分,但我可以设想这是通过使用会话 ID 作为键和 Actor 名称(或路径)作为值的 Map 来实现的。一个快速的 actorFor 将负责其余的工作。没有经过深思熟虑,但应该让您很好地了解从哪里开始。
可以插入我自己的基于自定义的负载均衡器。
请参阅路由文档。
易于编写和部署。
这取决于您的能力和努力,但是在您阅读文档的某些部分后,您应该在几个小时内构建概念验证。
部署可能有点令人沮丧,主要是因为文档在使用远程组件部署 Akka 网络方面并不是很好。但是,网络上有足够多的示例,您可以弄清楚如何完成它......最终。一旦你做了一次,这没什么大不了的。
一个中央配置文件(可能是一个 XML),用于处理所有后端服务器。
Akka 使用 Typesafe Config (https://github.com/typesafehub/config),它比 XML 更容易使用(但我讨厌 XML,所以请谨慎对待)。至于中央配置,我不确定您要完成什么,但这听起来像是可以使用远程参与者创建来解决的问题。再次,请参阅远程处理文档。
从此配置文件中轻松提取节点(可能使用 xpath)。
Akka 提供了一个查找方法 .actorFor。系统启动并运行后,无需转到配置文件。
如果是这样,akka 或代理示例中是否有负载平衡示例?
谷歌是你的朋友。