На самом деле смотрю видосы про бэкенд почти не зная питон, но теперь еще сильнее захотелось его изучить, чтобы настроить все эти штуки между собой! Спасибо
Было бы интересно посмотреть на применение брокеров на примере какого-то микросервиса. Что этот сервис делает, какие данные принимает и какие отдаёт и тд.
Самое банальное - общение между микросервисами. Условно есть сервис, который увеличивает баланс юзеру и его консьюмер будет отлавливать сообщения из других сервисов для увеличения баланса. Также можно вынести какую-то сложную задачу, чтобы не нагружать машину с самим api
Вчера дошел до до темы докера и реббит, и был удивлен что мой ПК не может создать сандбокс, что меня сильно удивило, ну так придется купить 2-й ПК. Спасибо за видео
Я не знаю, как оно так сложилось, но ты начал выкладывать такой отличный материал ровно когда я начал изучать эти темы. Как всегда, вкуснятина, спасибо большое!!!🔥🔥🔥
@@artemshumeiko разбери aiokafka(python-kafka с 20 года не поддерживается) или faust как-то так, хотелось бы узнать различия, +- и насколько применимы эти знания для питон разрабов. Видосов по практике нет абсолютно(кроме одного по aiokafka, но там дэфолтный конс и прод, без объяснения: как делить на топики, партиции, группить консюмеров и прочих важных настройках). И ещё хотелось бы узнать о какой-нибудь UI для Кафки(хотя бы как у кролика менеджер этот), ВОТ по UI на русскоязычном ютубе абсолютно 0 инфы ДАЖЕ самой дэфолтной
Хотелось бы понимать ситуации, когда стоит его использовать, плюсы и минусы на реальных примерах. Есть же рест апи и очереди. Какой пет проект сделать можно с использованием кролика, чтобы реально увидеть пользу брокера
Рест апи это просто неопределенная система. А тут конкретно отдельная прога которая все принимает. Создание той же архитектуры сложный процесс. Но кролик для асинхронных задач и где нужно быстро отдать не запоминая что отдал
@@romanbush5164 не совсем, это замена REST API, брокер децентрализирует всё, gRPC создан для быстрой отправки. Нужно грамотно всё совмещать. Также gRPC не всегда нужен, а настройка его дольше, также он работает по протоколу HTTP/2. Поэтому необходим уже API Gateway, это не просто взял и вкорячил, опять-таки надо грамотно всё продумать. Какие микросервисы и для чего.
@@romanbush5164grpc не может быть ни лучше, ни хуже, это другая технология. Брокеры сообщений в первую очередь про обработку потока сообщений ассинхронно и про гарантию доставки сообщения
Добрый день, Артем! Подскажите пожалуйста, сorrelation_id, использование RPC для того, что бы ждать ответ от микросервиса это нормальная практика? Или RabbitMQ направлен только для того, что бы складывать сообщения в очередь и не ждать ответ. По идее это всяко лучше чем через http, тк сообщение хотя бы не потеряется
Артем, как всегда большое спасибо за отличное видео! Но у меня такой вопрос..верно ли утверждение, что rabbit - брокер, который работает по push-модели, т е как только он получает сообщение от продюсера, то сразу же пушит его консьюмеру (в отличие от той же кафки, которая работает по pull-модели, т е консьюмер сам забирает из нее нужное сообщение, и Кафка при этом гарантирует его сохранность при любом раскладе)?
@@artemshumeiko при всем уважении, так делать было не надо) Как и забывать букву К в прилагательном "практическом" )) это не даст больше продаж, зато пользователи перетекут на других авторов. Я хз нужен ли такой коммент, но пусть будет
пупупу пупу/ А зачем молодым и неопытным арендовать "сервер" на селектел под кроля для личных нужд? Я понимаю, что это интеграция, но было бы хорошим тоном сказать, что в первую очередь стоит разворачивать его в докере локально
Возможна ли ситуация, что в момент после того, как один консьюмер получил сообщение, и до того, как подтвердил его обработку, второй консьюмер получит на обработку то же самое сообщение? И если эта ситуация возможна, то как предотвратить двойную обработку?
По умолчанию RabbitMQ отправляет сообщения по очереди на каждый consumer (round-robin алгоритм), т.е. первое сообщение получит первый консьюмер, второе - второй, и тд. Т.е. одно сообщение не может отправиться сразу двум консьюмерам. Если же первый консьюмер получил сообщение и отключился, не отправив подтверждения, сообщение останется в очереди и будет отправлено другому консьюмеру. Для более гибкого распределения нагрузки между консьюмерами можно посмотреть в документации настройку qos и priority у консьюмеров.
Попасть на Практический курс по Backend разработке с нуля до деплоя: artemshumeiko.ru
@@artemshumeiko отличный к слову курс!
На самом деле смотрю видосы про бэкенд почти не зная питон, но теперь еще сильнее захотелось его изучить, чтобы настроить все эти штуки между собой! Спасибо
Конечно нужно далее развивать тему брокеров сообщений, объяснить все подводные камни. Спасибо за материал.
Только начал изучать тему с RabbitMQ, и тут нате :D Спасибо
Артём, спасибо большое за это и другие видео! Интересно и полезно даже не только начинающим!)
Артем, ты красавчик, продолжай!
Спасибо, бро !
Твои видео делают мою профессиональную жизнь всё лучше и любимее !
Очень хотел бы видео про gRPC и K8S )
Добра тебе ❤
Мега просто и быстро, лучший канал с объяснениями❤
Было бы интересно посмотреть на применение брокеров на примере какого-то микросервиса. Что этот сервис делает, какие данные принимает и какие отдаёт и тд.
Самое банальное - общение между микросервисами. Условно есть сервис, который увеличивает баланс юзеру и его консьюмер будет отлавливать сообщения из других сервисов для увеличения баланса.
Также можно вынести какую-то сложную задачу, чтобы не нагружать машину с самим api
Сразу поставил лайк и подписался перед тем как смотреть
Артём, отличное видео! Давай еще такое же по Docker!
спасибо)
Спасибо !
ну хоть кто-то показал как использовать эти брокеры, а то все только рассказывают, что это такое и все
Реально. Пытаюсь создать архитектуру приложения и на самом деле не так уж и много инфы об этом
Вчера дошел до до темы докера и реббит, и был удивлен что мой ПК не может создать сандбокс, что меня сильно удивило, ну так придется купить 2-й ПК. Спасибо за видео
Давай ещё!
Спасибо за материал. Подскажите, как перезапускать консьюмер автоматически? Например после перезагрузки сервера
Я не знаю, как оно так сложилось, но ты начал выкладывать такой отличный материал ровно когда я начал изучать эти темы. Как всегда, вкуснятина, спасибо большое!!!🔥🔥🔥
будет Kafka на практике?
2000 лайков и будет :)
@@artemshumeiko разбери aiokafka(python-kafka с 20 года не поддерживается) или faust как-то так, хотелось бы узнать различия, +- и насколько применимы эти знания для питон разрабов. Видосов по практике нет абсолютно(кроме одного по aiokafka, но там дэфолтный конс и прод, без объяснения: как делить на топики, партиции, группить консюмеров и прочих важных настройках). И ещё хотелось бы узнать о какой-нибудь UI для Кафки(хотя бы как у кролика менеджер этот), ВОТ по UI на русскоязычном ютубе абсолютно 0 инфы ДАЖЕ самой дэфолтной
Если вы используете кафку , то ютуб вам не нужен, у вас к тому моменту уже должна быть целая инфраструктурная команда для работы с какой.)
Хотелось бы понимать ситуации, когда стоит его использовать, плюсы и минусы на реальных примерах. Есть же рест апи и очереди. Какой пет проект сделать можно с использованием кролика, чтобы реально увидеть пользу брокера
Рест апи это просто неопределенная система. А тут конкретно отдельная прога которая все принимает. Создание той же архитектуры сложный процесс. Но кролик для асинхронных задач и где нужно быстро отдать не запоминая что отдал
@xakep2776 еще есть grpc что еще лучше брокеров
@@romanbush5164 не совсем, это замена REST API, брокер децентрализирует всё, gRPC создан для быстрой отправки. Нужно грамотно всё совмещать. Также gRPC не всегда нужен, а настройка его дольше, также он работает по протоколу HTTP/2. Поэтому необходим уже API Gateway, это не просто взял и вкорячил, опять-таки надо грамотно всё продумать. Какие микросервисы и для чего.
@@romanbush5164grpc не может быть ни лучше, ни хуже, это другая технология. Брокеры сообщений в первую очередь про обработку потока сообщений ассинхронно и про гарантию доставки сообщения
👍
Добрый день, Артем!
Подскажите пожалуйста, сorrelation_id, использование RPC для того, что бы ждать ответ от микросервиса это нормальная практика? Или RabbitMQ направлен только для того, что бы складывать сообщения в очередь и не ждать ответ. По идее это всяко лучше чем через http, тк сообщение хотя бы не потеряется
будет ли кубер для чайников?
Артем, как всегда большое спасибо за отличное видео! Но у меня такой вопрос..верно ли утверждение, что rabbit - брокер, который работает по push-модели, т е как только он получает сообщение от продюсера, то сразу же пушит его консьюмеру (в отличие от той же кафки, которая работает по pull-модели, т е консьюмер сам забирает из нее нужное сообщение, и Кафка при этом гарантирует его сохранность при любом раскладе)?
нет. Если консюмера нет, сообщение никому не "пушится" и лежит в очереди, ждет пока придет консюмер
а куда видосы по фастапи пропали
Обучиться FastAPI теперь можно на Практическом курсе по Backend с нуля до деплоя: artemshumeiko.ru
@@artemshumeiko при всем уважении, так делать было не надо) Как и забывать букву К в прилагательном "практическом" )) это не даст больше продаж, зато пользователи перетекут на других авторов. Я хз нужен ли такой коммент, но пусть будет
@@unicoxr5tj417согласен 💯
Like
Видео хорошее, но вот этот try-except-pass, лучше так не выражаться кмк
пупупу пупу/ А зачем молодым и неопытным арендовать "сервер" на селектел под кроля для личных нужд? Я понимаю, что это интеграция, но было бы хорошим тоном сказать, что в первую очередь стоит разворачивать его в докере локально
Почему не Nats?
Возможна ли ситуация, что в момент после того, как один консьюмер получил сообщение, и до того, как подтвердил его обработку, второй консьюмер получит на обработку то же самое сообщение?
И если эта ситуация возможна, то как предотвратить двойную обработку?
невозможна
могу показать в будущих видео, как это делается
По умолчанию RabbitMQ отправляет сообщения по очереди на каждый consumer (round-robin алгоритм), т.е. первое сообщение получит первый консьюмер, второе - второй, и тд. Т.е. одно сообщение не может отправиться сразу двум консьюмерам. Если же первый консьюмер получил сообщение и отключился, не отправив подтверждения, сообщение останется в очереди и будет отправлено другому консьюмеру. Для более гибкого распределения нагрузки между консьюмерами можно посмотреть в документации настройку qos и priority у консьюмеров.
Да да я тоже заметил, что фастапи пропал!!
Обучиться FastAPI теперь можно на Практическом курсе по Backend с нуля до деплоя: artemshumeiko.ru
А таким образом таска не улетит на 2 инстанса? Не лучше будет в кече из консьюмера пересоздавать таску?