масштабируемый сервер чата Python

Я только начал изучать сокеты с Python. Итак, я написал несколько примеров чат-серверов и клиентов. Большая часть того, что я видел в Интернете, похоже, использует модуль потоковой передачи для (асинхронной) обработки подключений клиентов к серверу. Я понимаю, что для масштабируемого сервера вам нужно использовать некоторые дополнительные приемы, потому что тысячи потоков могут убить сервер (поправьте меня, если я ошибаюсь, но это из-за GIL?), Но это не моя проблема в данный момент.

Странно то, что где-то в документации Python я обнаружил, что создание подпроцессов является правильным способом (к сожалению, я потерял ссылку, извините :() для обработки сокетов.

Итак, вопрос: использовать многопроцессорность или многопроцессорность? Или есть еще лучшее решение?

Пожалуйста, дайте мне ответ и объясните мне разницу.

Кстати: Я знаю, что есть такие вещи, как Twisted, которые хорошо ... написано. Я не ищу готовый масштабируемый сервер, я вместо этого пытаюсь понять, как написать такой, который можно масштабировать или который будет обрабатывать не менее 10 тыс. клиентов.

РЕДАКТИРОВАТЬ: Операционная система - Linux.

9
задан Angry 84 11 August 2015 в 02:15
поделиться