Как определить, сколько актеров по умолчанию будет создавать игра 2.7 при ответе на запросы? - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу понять, сколько действующих лиц будут создавать настройки по умолчанию (контекст выполнения), с которыми будет выполняться воспроизведение при ответе на запросы?

Как только будет достигнуто это максимальное число действующих лиц, что произойдет с запросами, которые не обрабатываются? не обслужили? Будут ли они блокировать до определенной точки? Тайм-аут браузеров через x секунд или это тайм-аут tcpip?

1 Ответ

1 голос
/ 21 февраля 2020

Некоторая информация, которая может помочь вам понять вещи немного больше. Вероятно, вы должны думать в контексте потоков, а не актеров, для целей вашего вопроса.

Бэкэнд по умолчанию - Akka HTTP (предыдущие версии - до 2.6, я думаю - поставляются с Netty по умолчанию, который в более поздних версиях все еще доступен в качестве настраиваемой альтернативы бэкэнду Akka HTTP).

Контекст выполнения Play по умолчанию настроен на пул 1 потока на ядро ​​процессора. Состояние docs процессор , но более конкретно, для каждого ядра. Предполагается, что вы создаете свое приложение чисто асинхронно и неблокирующим образом, хотя это основные принципы архитектуры Play. Если вам нужно выполнить работу по блокировке (особенно синхронный ввод-вывод), вы исследуете концепцию наличия пользовательского пула, в котором вы управляете количеством доступных потоков, и / или нескольких пулов , что дает вам возможность изолировать ваша работа по блокировке из вашей неблокирующей и т. д. c - , пожалуйста, обратитесь к документации .

Если ваш пул потоков исчерпан, то последующие запросы будут складываться. Параметры конфигурации тайм-аута по умолчанию можно найти, обратившись к play docs или, более конкретно, к Akka HTTP config .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...