Я планирую написать HTTP-сервер:
Будет два модуля (L и P), оба исполняемые.
Один из этих исполняемых файлов (L) будет прослушивать HTTP-запрос и просто перенаправлять его другому исполняемому файлу (P), который имеет всю логику синтаксического анализа HTTP и выполнять дальнейшие действия. Может быть некоторое количество 'Ps', информация/параметры соединения которых будут известны слушателю L.
Идея заключается в том, что в случае сбоя одного из Ps можно использовать другой и т. д. Кроме того, один P можно запустить для взаимодействия с одной копией БД, а другой Ps с другой репликой.
Теперь я в замешательстве, выберу ли я комбинацию L&P или только L, которая будет прослушивать, получать, анализировать запрос и отвечать.
In case I go for L&P combo there will be some overhead because of request forwarded from L to P and then response from P to L.
- Можно ли пренебречь этими накладными расходами для 100 000 обращений в секунду?