Какого рода проблемы (если они есть) будут сочетать асинхронность с многопроцессорностью?

Как почти всем известно, когда они впервые смотрят на многопоточность в Python, есть GIL, который делает жизнь несчастной для людей, которые на самом деле хотят выполнять обработку параллельно - или, по крайней мере, дать ей шанс.

В настоящее время я смотрю на реализацию чего-то вроде шаблона Reactor. По сути, я хочу прослушивать входящие соединения сокетов в одном потоке, а когда кто-то пытается установить соединение, принять это соединение и передать его другому потоку, как для обработки.

Я (пока) не уверен, с какой нагрузкой я могу столкнуться. Я знаю, что в настоящее время настроено ограничение 2 МБ для входящих сообщений. Теоретически мы могли бы получать тысячи в секунду (хотя я нене знаю, если мы практическиЯ видел что-нибудь подобное). Время, потраченное на обработку сообщения, неужасно важно, хотя, очевидно, быстрее будет лучше.

Я изучал шаблон Reactor и разработал небольшой пример, используяmultiprocessing библиотека, которая (по крайней мере, в тестировании), кажется, работает просто отлично. Однако сейчас / скоро мыбудет иметьasyncio библиотека, которая будет обрабатывать цикл событий для меня.

Есть ли что-нибудь, что может укусить меня, сочетаяasyncio а также ?multiprocessing

Ответы на вопрос(3)

Ваш ответ на вопрос