我有这个连接到远程服务器以使用给定 API 的 Play 应用程序。为了平衡我对远程服务器的请求,我将多个帐户连接到同一台服务器。每个帐户都可以查询 API 给定的次数。每个帐户都由 Akka Actor 处理,这些 Actor 位于 Akka Round Robin 路由器后面。因此,当想要使用远程 API 时,我向 RR 路由器“询问”想要的信息。
此实现运行良好,直到一个帐户断开连接。基本上,当一个帐户断开连接时,参与者返回一个给定对象,上面写着“连接出现问题”,然后我再次向 RR 路由器发送第二个请求,由另一个帐户处理。
我的问题是,不必在 router-routee 组之外有“重试”逻辑,有没有办法在里面做?我在想,例如在路由器级别,定义一个逻辑来处理这些“连接有问题”消息,方法是自动将请求转发到下一个要由它处理的路由,并且只有在所有路由都有后才返回最终响应尝试过但没有奏效?
Akka 是否提供了一种简单的方法来实现这一点,还是我应该继续我的实现?