Можно ли использовать Nginx вместо Gunicorn для управления несколькими локальными рабочими серверами OpenERP?

В настоящее время я использую Nginx в качестве веб-сервера для Openerp. Он используется для обработки SSL и кэширования статических данных. Я рассматриваю возможность расширения его использования, чтобы также обрабатывать отказоустойчивость и балансировку нагрузки со вторым сервером, используя модуль upstream.

В процессе мне пришло в голову, что Nginx также может делать это на нескольких серверах Openerp на одной машине, поэтому я могу использовать преимущества нескольких ядер. Но Gunicorn кажется предпочтительным инструментом для этого.

Вопрос в том, может ли Nginx хорошо обрабатывать трафик на несколько локальных серверов OpenERP, полностью обходя необходимость в Gunicorn?


person Daniel Reis    schedule 06.07.2012    source источник


Ответы (2)


Давайте сначала поговорим о том, что они оба представляют собой в основном.

Nginx — это чистый веб-сервер, предназначенный для обслуживания статического контента и/или перенаправления запроса в другой сокет для обработки запроса.

Gunicorn основан на рабочей модели pre-fork. Это означает, что существует центральный главный процесс, который управляет набором рабочих процессов. Мастер никогда ничего не знает об отдельных клиентах. Все запросы и ответы полностью обрабатываются рабочими процессами.

Если вы внимательно видите, что Gunicorn разработан на основе Unicron, перейдите по ссылке, чтобы узнать больше о различиях, которые показывают ngix и unicrom той же модели работают и с Gunicron.

person ifixthat    schedule 06.07.2012
comment
Есть ли веская причина, по которой я должен добавить Gunicorn в свой стек, если я уже использую Nginx? - person Daniel Reis; 06.07.2012
comment
но они оба являются специалистами разного уровня, вы не можете попросить кардиолога об операции на головном мозге и точно так же вы не можете попросить нейрохирурга об операции на открытом сердце, хотя оба они в одной и той же профессии, доктор;) - person ifixthat; 09.07.2012

nginx не является «чистым веб-сервером» :) Это скорее веб-ускоритель, способный выполнять балансировку нагрузки, кэширование, завершение SSL, маршрутизацию запросов и статический контент. «Чистый веб-сервер» будет чем-то вроде Apache — исторически веб-сервер для статического контента, CGI, а затем для mod_something.

person Joe    schedule 06.07.2012