Нужен ли Gunicorn для внутренних асинхронных микросервисов? - PullRequest
0 голосов
/ 27 февраля 2019

Насколько я читаю по всему Интернету, лучший способ развертывания приложений Flask / Django - это оставить позади веб-сервер, такой как nginx, и связать их с предварительным форком-сервером, таким как gunicorn или uWSGI.

Это хорошо по многим причинам, таким как ssl-завершение, защита от HTTP-атак (nginx), разветвление потоков для параллелизма, перезапуск приложения после утечки памяти или другие исключения (gunicron).

Я хочу развернуть микросервис внутреннего API на sanic с pm2 , так как он не предназначен для клиентов, а будет вызываться только из внутренних служб, завершение SSH и защита от негоАтаки HTTP не имеют значения, параллелизм гарантируется асинхронной природой sanic, а перезапуск после исключения обрабатывается pm2.

Нужны ли мне gunicorn и nginx?Разве я не могу просто запустить процесс приложения как есть и позволить ему напрямую общаться со своими абонентами?

Ответы [ 2 ]

0 голосов
/ 19 мая 2019

Тебе это не нужно.Посмотрите на http://supervisord.org/, чтобы запустить, перезапустить, автоматически перезапустить и т. Д. Ваши услуги.

При этом я использую Gunicorn и Supervisord в сочетании.

0 голосов
/ 28 февраля 2019

Вам абсолютно не нужно иметь Gunicorn перед вашим стеком.Sanic может нормально работать, не имея перед собой веб-сервера, так как у него есть собственный внутренний сервер.

Я все еще рекомендовал бы использовать nginx для завершения работы TLS и обработки статических файлов (даже если sanic мог бы выполнять какиз них), так как это эффективно в этом.

вот ссылка на другой ответ, который я дал на тот же вопрос: https://community.sanicframework.org/t/gunicorn-uwsgi-vs-build-in-http-server/47/2?u=ahopkins

...