Как развернуть усиленный сервер Thrift для Python? - PullRequest
5 голосов
/ 10 января 2012

Вероятно, есть хороший документ, который мне поможет.Пожалуйста, укажите на это.

Если я напишу сервер Thrift с использованием Python, каков наилучший способ его развертывания в производственной среде?Все, что я могу найти, это примеры использования серверов на основе Python, которые поставляются вместе с дистрибутивом.Как я могу использовать Apache в качестве серверной платформы, например?Будет ли поддерживаться постоянное соединение?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 20 июня 2013

Я предполагаю, что вы используете Python THttpServer? Пара заметок:

1) В этом коде есть комментарий, который гласит:

""» Этот класс не очень производительный, но он полезен (например) для выступая в качестве фиктивной версии конечной точки PHP Thrift на основе Apache. "" "

Я бы не рекомендовал использовать его в производстве, если вы заботитесь о производительности. Если вы немного прочтете этот код, то обнаружите, что его довольно легко повторно реализовать, используя другой HTTP-сервер по вашему выбору. В экосистеме Python есть несколько хороших вариантов.

2) Также, прочитав код, вы обнаружите, что Thrift HTTP-серверы - это обычные старые HTTP-серверы. Они принимают весь трафик по одному пути (по умолчанию '/') и направляют сообщение в соответствующий метод, считывая информацию о маршрутизации, закодированную в самом сообщении (используя конструкцию Thrift «процессор»). Вы должны иметь возможность настроить Apache / nginx / что угодно обычным образом и просто перенаправить весь трафик на «/» на хосте и порте, на которых вы работаете.

1 голос
/ 12 января 2012

Я читал, что вы можете развернуть его за nginx, используя вышестоящий модуль, чтобы указать на благотворительный сервер. У вас должно быть по крайней мере одно ядро ​​ЦП для каждого экономичного сервера и одно оставленное для системы (т. Е. Если вы работаете с четырехъядерным процессором, вы должны запустить только 3 экономичных сервера, оставив один оставшийся для системы).

...