Linux epoll серверный дизайн и несколько циклов событий
Я смотрю на создание высокопроизводительного TCP-сервера (для работы на linux), который будет использовать системный вызов epoll в режиме запуска по фронту для получения уведомлений о событиях.
Система, на которой я буду работать, имеет несколько процессоров, и я хотел бы воспользоваться всеми из них. Моя идея до сих пор состоит в том, чтобы запускать несколько циклов событий epoll (по одному на каждый процессор) и каким-то образом распределять запросы между различными циклами событий.
Я предполагаю, что несколько процессов, каждый из которых использует свой порт прослушивания, и какой-то балансировщик нагрузки могут также использоваться для распределения запросов между процессами.
Это хороший дизайн сервера для использования с epoll? Каковы подводные камни этого?
Редактировать: я не знаю, почему кто-то проголосовал за "слишком широкое" - я спрашиваю об 1 вызове функции в 1 ОС и 1 типе дизайна... довольно специфический