Да;это не полностью неблокирующий веб-сервер.
Неблокирующий веб-сервер не блокирует, используя неблокирующие API для ввода-вывода файлов, доступа к базе данных и т. д., чтобы гарантировать, чтоодин запрос, который должен ждать, пока что-то завершится, не препятствует обработке других запросов.Это относится к всему , которое может блокировать сервер, включая доступ к базе данных.
Нет ничего более глупого, чем «нарушение причинности», если у вас есть неблокирующий доступ к базе данных;имеет смысл запускать неблокирующий запрос, связанный с одним запросом, и обрабатывать другие запросы, пока он еще выполняется.На практике это обычно означает создание нескольких соединений с бэкэндом базы данных.
Обратите внимание, что если вы пытаетесь выполнить десять тысяч одновременных запросов, будьте осторожны: большинство бэкэндов базы данных не справятся с этим.Если у вас есть несколько десятков запросов к базе данных для параллельного выполнения, вы, вероятно, захотите что-то вроде пула соединений, чтобы веб-сервер мог выполнять множество соединений с базой данных, не перегружая серверную часть.Это приведет к блокировке запросов, ожидающих в очереди получения доступа к базе данных, но выполнение этого способа означает, что он не блокирует весь сервер - только запросы, которым нужна база данных.