Прецедент это:Использование спрея клиента (SendReceive) в качестве актера
- актера связывают опрыскивать IO - прием и обработка всех входящих запросов HTTP, поступающие через указанный порт.
- Для каждого входящего запроса актеру необходимо отправить исходящий асинхронный HTTP-запрос на другую внешнюю конечную точку, вернуть входящий ответ и отправить ответ обратно отправителю.
Использование клиента распылителя sendReceive возвращает будущее. Это означает, что актер будет продолжать обрабатывать следующее входящее сообщение в своем почтовом ящике, не дожидаясь ответа на исходящий запрос, который он только что отправил, в то же время ответ на исходящий запрос может прибыть и выполнить в обратном вызове Future, поскольку он не поставленный в очередь на почтовый ящик актера, он может выполняться параллельно, нарушая идею актера, исполняемого только одним потоком за данный момент времени.
Интересно, как можно использовать этот случай использования, не нарушая инкапсуляцию нитей актера, как актер может использовать брызг-клиент (для отправки/получения асинхронных http-событий) безопасным способом?