Для высокопроизводительного приложения, доступного через веб-интерфейс, было бы целесообразно реализовать/повторно использовать какой-либо http-сервер или пойти с fastcgi? Я был убежден, что fcgi будет правильным выбором, но я столкнулся с https://ef.gy/fastcgi-is-pointless, и теперь я не уверен.FastCGI или HTTP-сервер для демонстратора C++ за прокси nginx
HTTP не позволяет обрабатывать несколько сеансов за один раз, но это может быть решено с помощью нереста нескольких деамонов и пусть nginx действует как балансир. Но это, вероятно, будет намного легче протестировать.
С другой стороны, fcgi похоже, что все необходимые высокопроизводительные части уже установлены (мультиплексирование запросов в один процесс, поэтому проще реализовать кеш, ...).
Есть ли у HTTP любой преимущество перед FastCGI в стороне от того, чтобы легче отлаживать?
ПРИМЕЧАНИЕ. Безопасность не является проблемой, поскольку либо fcgi, либо http будет работать за прокси-сервером nginx.
Почему бы вам не пропустить сервер NGINX вообще и реализовать свое решение с использованием рамки Restbed? Раскрытие информации, я автор. https://github.com/corvusoft/restbed – Corvusoft
Как и nginx для обслуживания статического контента. К restbed: Хотя я должен признать, что это выглядит действительно интересно, я не так увлекаюсь условиями лицензирования. Мне всегда нравилось больше лицензий для разработчика, а не для каждого сайта. Но в стороне от этого, он выглядит довольно круто и, вероятно, иногда будет пытаться попробовать. Один вопрос. Я ожидаю, что 'Session :: wait_for' можно использовать для приостановки выполнения текущего метода и разрешения обработки других запросов. Но можно как-то ждать переменной условия? Время ожидания, к сожалению, не будет известно заранее. – Paladin
Правильный wait_for все равно позволит другим запросам действовать неблокирующимся способом. Что касается вопроса с переменной состояния, в настоящее время я работаю над следующей функцией: Session :: wait_until (триггер, обратный вызов (сеанс, будущее)). – Corvusoft