LINUX.ORG.RU

Стек(?) для Python+HTTPS

 , ,


0

3

Привет лорогугл
Надумал я тут для самообучения попилить один велосипед, подскажи же мне модный стек технологий для этого, чтобы всё было молодёжно и асинхронно.
Схема примерно такая:
клиент подключается к серверу по HTTPS, шлёт POST/GET c XMLками в качестве контента, сервер дёргает DB, отдаёт выхлоп клиенту взад.
Клиент - не браузер, а другое приложение, поэтому сверхнавороченный HTTP сервер и чудеса шаблонов наверное без надобности (в первом приближении клиент кроме HTTP 200 даже и кодов других не будет обрабатывать)
Так как знаю только питон немножко, то в основе будет он
Как я понял, сам сервер лучше поставить за Nginx, дальше пока не придумал.

★★★★★

модный стек технологий для этого, чтобы всё было молодёжно и асинхронно

asyncio, aiohttp

vvn_black ★★★★★ ()
Ответ на: комментарий от vvn_black

Asyncio только для 3-го питона, да и модулей под него пока не так много. Лучше Tornado.

Vovka-Korovka ★★★★★ ()

Почему нельзя завершать HTTPS сессию на уровне nginx?

vertexua ★★★☆☆ ()

сверхнавороченный HTTP сервер и чудеса шаблонов наверное без надобности (в первом приближении клиент кроме HTTP 200 даже и кодов других не будет обрабатывать)

Ну и используй тогда SimpleHTTPServer, доступный из коробки.

alozovskoy ★★★★★ ()

Asyncio хватит, можно ещё в сторону websockets копать, даже какие-обертки над asyncio для этого были

Dred ★★★★★ ()

из асинхронного, насколько я знаю - twisted

Ну в принципе ты просто хочешь запилить REST сервис, судя по описанию, можно и не xml а, например, json :)

И это, приложение вообще не должно лезть на уровень https/http, мне кажется это работа балансировщика/прокси

invokercd ★★★★ ()
Последнее исправление: invokercd (всего исправлений: 1)
Ответ на: комментарий от vertexua

Откуда же я знаю, я же не настоящий сварщик и пока только пытаюсь в голове картинку собрать как это будет/может/должно работать.
Т.е. в теории можно терминировать HTTPS на Nginx, а от него до приложения будет бегать гольный HTTP?
Для отладки это наверно даже проще, а то наверно каждый раз ключи в Wireshark загружать не очень интересно.

zolden ★★★★★ ()
Ответ на: комментарий от invokercd

Т.е. в первом приближении моя теория почти верна: в SSL всё обёрнуто до Nginx, от него уже всё бегает в открытом виде и мне действительно подойдёт какой-то HTTP сервер, на котором не надо заморачиваться с сертификатами и прочим?

zolden ★★★★★ ()
Ответ на: комментарий от Vovka-Korovka

Asyncio только для 3-го питона, да и модулей под него пока не так много

Какие модули могут понадобиться?
У меня же вроде бы всё довольно тривиальное получается, не SimpleHTTPServer, но почти

zolden ★★★★★ ()
Ответ на: комментарий от Goury

разве джанга не слишком большой оверхед для такого?
как я понимаю, для моей задачи порядка всего 0.01% от её возможностей нужно

zolden ★★★★★ ()
Ответ на: комментарий от zolden

Ну захочется тебе к монге какой-нибудь запросы делать, а драйвер под asyncio обновляли последний раз полтора года назад, в то время как motor для tornado, не смотря на то, что старше, до сих пор активно развивается.

Vovka-Korovka ★★★★★ ()
Ответ на: комментарий от Vovka-Korovka

Asyncio только для 3-го питона

Некрофил, ты в курсе что в 2020 у второго питона официально прекращается поддержка?

entefeed ☆☆☆ ()
Ответ на: комментарий от entefeed

А ты в курсе, что на куче продакшнов питон именно версии второй (и не везде 2.7), и заказчики на третий перелазить не собираются? К тому же Tornado третий питон поддерживает, и никто не запрещает писать код совместимый с обеими версиями. Но сейчас отсутствие поддержки второго питона - весьма существенное ограничение.

Vovka-Korovka ★★★★★ ()

чтобы всё было молодёжно и асинхронно

node.js же

umren ★★★★★ ()
Ответ на: комментарий от zolden

Да, обычно шифрованием внутри production сети по началу не заморачиваются

vertexua ★★★☆☆ ()
Ответ на: комментарий от zolden

Ну так используй эти 0.01.
Джанга модульная, никто не заставляет тебя сразу все модули подключать.

Goury ★★★★★ ()

Модно и молодежно это python3/aiohttp/aiomysql/aiopg

Все остальное не модно и не молодежно.

Более того, aiohttp, не смотря на свою относительную низкоуровневость, настолько удобен, что всякие Tornado внезапно стали не нужны.

По поводу того что питон3 зеленый и там мало либ и все такое -- http://www.troll.me/images/creepy-willy-wonka/creepy-willy-wonka.jpg

redixin ★★★★ ()
Ответ на: комментарий от Vovka-Korovka

А ты в курсе, что всем положить на легаси, и никто не будет бекпортить фичи на версию, которая умрет через пять лет?

entefeed ☆☆☆ ()
Ответ на: комментарий от pawnhearts

Ага, кстати, странно, что flask сразу не предложили - тоже вроде молодежно, хоть и не так модно как asyncio.

vvn_black ★★★★★ ()
Ответ на: комментарий от Vovka-Korovka

питон именно версии второй (и не везде 2.7)

Всегда найдёт заказчик с говном мамонта

заказчики на третий перелазить не собираются

Для новых проектов таки перелазят. И не надо нам в этом мешать :)

true_admin ★★★★★ ()
Ответ на: комментарий от zolden

Есть мнение что приложение должно заниматься только обработкой данных и ответом клиенту (в твоем случае) - все более низкоуровневое - не его забота, ибо можно накостылять целый стек (хотя оно и так есть, вопрос зачем - если это круче и правильней реализовать балансировщиком).

invokercd ★★★★ ()

Бери Торнадо. Там всё просто, куча примеров, всегда фиксят баги вовремя. Хорошая производительность, которой тебе хватит за глаза. А так..можно ещё глянуть всякие restfull фреймверки на гитхабе, там тоже есть дельные разработки.

menangen ★★★★★ ()
Ответ на: комментарий от menangen

Оу...старшие пацаны за гаражами тоже его хвалили, но я не уверен что порог вхождения мне подходит

zolden ★★★★★ ()

Использую Tornado просто потому, что просто и знакомо, а менять на что-то другое просто лень (и нет необходимости).

winlook38 ★★ ()

Молодежно и асинхронно - aiohttp. А если «сверхнавороченный HTTP сервер и чудеса шаблонов без надобности» то nginx + микрофреймворк по вкусу.

ei-grad ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.