Микросервисная архитектура Python с высокой нагрузкой - PullRequest
0 голосов
/ 21 января 2019

Я хотел спросить вас о микросервисах в Python.На момент написания этой статьи я хорошо разбирался в написании хорошо структурированных API-интерфейсов, обеспечивающих защиту от флеш-памяти, и хотел пойти и узнать о микросервисах в python.

Сейчас я прочитал довольно много информации об этом и дажеискал в Интернете, чтобы найти примеры для этого (1 пример здесь ), но я не совсем уверен, с чего начать, так как я не хочу тратить слишком много времени на неэффективную схему.

Итак, я хотел бы знать, знает ли кто-нибудь какие-нибудь курсы с примерами для Python по созданию сервисов с высокой нагрузкой.Мои единственные намеки на asyncio и aiohttp для обработки запросов, и я не уверен, что использование посредника сообщений (такого как zeromq или rabbitmq) было бы хорошей идеей, поскольку из того, что я прочитал, добавляется задержка запроса.

Любой совет был бы великолепен.

PS: Текущий шаблон, на котором я застрял, - это шаблон API Gateway, и я также хотел бы знать, является ли это хорошим направлением для начала.

1 Ответ

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

В Python есть множество микросервисных фреймворков, которые могут справиться с высокой нагрузкой и помогут вам следовать лучшим рекомендациям.

Попробуйте, например, pymacaron (http://pymacaron.com/). Pymacaron - это, по сути, приложение-колба, конечные точки которого автоматически порождаются по спецификации swagger. Чтобы написать микросервис pymacaron, вам в основном необходимо:

(1) написать спецификацию swagger для вашего API (которая всегда является хорошей отправной точкой, независимо от того, какой язык вы используете). Ваш файл swagger описывает вызовы get / post / etc вашего API и какие объекты (json dicts) они получают и возвращают, а также какой метод python в вашем коде реализует конечную точку.

(2) и реализуйте методы ваших конечных точек.

Как только вы это сделаете, вы получите множество вещей бесплатно: вы можете упаковать свой код в докер-контейнер, развернуть его на amazon beanstalk, запустить асинхронные задачи из ваших вызовов API или получить документацию API без дополнительных затрат. работа.

Вот пример API helloworld, реализованного с помощью Pymacaron: https://github.com/pymacaron/pymacaron-helloworld

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...