У меня есть это приложение Play, которое подключается к удаленному серверу, чтобы использовать данный API. Чтобы сбалансировать нагрузку моих запросов к удаленному серверу, я подключаю несколько учетных записей к тому же серверу. Каждая учетная запись может запрашивать API заданное количество раз. Каждая учетная запись обрабатывается субъектом Akka, и эти субъекты находятся за маршрутизатором Akka Round Robin. Таким образом, когда я хочу использовать удаленный API, я «запрашиваю» у маршрутизатора RR нужную информацию.
Эта реализация работает нормально, пока одна учетная запись не будет отключена. По сути, когда одна учетная запись отключена, актор возвращает заданный объект, который говорит, что «что-то не так с подключением», а затем я снова отправляю второй запрос на маршрутизатор RR для обработки другой учетной записью.
Мой вопрос: вместо того, чтобы иметь логику «повторить попытку» вне группы маршрутизатора-маршрутизатора, есть ли способ сделать это внутри? Я думаю, что, например, на уровне маршрутизатора определите логику, которая обрабатывает эти сообщения «что-то не так с соединением», автоматически перенаправляя запрос следующему маршруту для его обработки, и возвращайте окончательный ответ только после того, как все маршруты будут пробовали и ничего не помогло?
Предоставляет ли Akka простой способ добиться этого, или я должен просто продолжить свою реализацию?