Я только начал изучать сокеты с Python. Итак, я написал несколько примеров чат-серверов и клиентов. Большая часть того, что я видел в Интернете, похоже, использует модуль потоковой передачи для (асинхронной) обработки подключений клиентов к серверу. Я понимаю, что для масштабируемого сервера вам нужно использовать некоторые дополнительные приемы, потому что тысячи потоков могут убить сервер (поправьте меня, если я ошибаюсь, но это из-за GIL?), Но это не моя проблема в данный момент.
Странно то, что где-то в документации Python я обнаружил, что создание подпроцессов является правильным способом (к сожалению, я потерял ссылку, извините :() для обработки сокетов.
Итак, вопрос: использовать многопроцессорность или многопроцессорность? Или есть еще лучшее решение?
Пожалуйста, дайте мне ответ и объясните мне разницу.
Кстати: Я знаю, что есть такие вещи, как Twisted, которые хорошо ... написано. Я не ищу готовый масштабируемый сервер, я вместо этого пытаюсь понять, как написать такой, который можно масштабировать или который будет обрабатывать не менее 10 тыс. клиентов.
РЕДАКТИРОВАТЬ: Операционная система - Linux.