我正在开展一个项目,我将交通信号控制器表示为(主)代理,并且彼此之间进行通信。我本来打算使用JADE,但后来我遇到了AKKA。现在我有点困惑,因为我读到的关于AKKA的内容表明有一个主人,而主人先创造了工人;这是正确的,如果是的话,我如何实现(所有主人)代理人表示?
答案 0 :(得分:1)
那么你最终会在哪里结束?我所确定的是演员模型与代理模型不同,为了使代理在AKKA中有意义,你需要自己做很多事情。
因为AKKA将通过路由器发送所有请求,您需要在消息本身中存储状态。
为了模拟代理对等方的无主行为,您必须构建一个路由主服务器,该主服务器将知道要向哪些代理发送内容。此外,如果您有“重复平均”问题,例如群组意见,那么主人需要监视问题的状态/在下一次迭代中将其他代理的结果发送给每个代理。
我想你可能需要问一下你在框架中寻找什么。如果你正在寻找耐用性,AKKA可能是一个好的选择(它的灵感来自ErLang),如果你正在寻找一个可以运行模拟的代理平台,JADE或RePast可能是一个更好的选择。
至少对于代理系统来说,AKKA与ActiveMQ或ZeroMQ的匹配程度差不多(即它处理分布式系统的一些通信问题,但它不是基于代理的框架)。