Микросервисы для Дебила

Поділитися
Вставка
  • Опубліковано 29 вер 2024
  • В ролике простым языком проговорим что такое микросервисы, узнаем принцип их построения, а так посмотрим на пример микросервиса созданного с помощью FastAPI
    Мой телеграмм: t.me/+K7Nro7Tp...
    Бот IT собеседник t.me/interview...
    Мой сайт по вопросам на собеседованиях alit-poznikov.ru/
    Экосистема знаний в IT itsystem.space/
    #python #pythonprogramming #pythontutorial #python3 #pythonforbeginners #pythonprojects #programming #programmers #programmer #backend #backenddeveloper #fullstack #fullstackdevelopment #backendwebdevelopment

КОМЕНТАРІ • 75

  • @MikeNugget
    @MikeNugget Рік тому +28

    Начало видео похоже на агрессивную продажу инфокурса 😂

    • @vadim6684
      @vadim6684 Рік тому

      для питониста же, всё сходится. XD

  • @ДенисМаслов-т3х
    @ДенисМаслов-т3х Рік тому +24

    на 8:20
    "return True if r.status_code == 200 else False"
    ахахах а чё не так сделать:
    "return r.status_code == 200" ?

    • @night_niker
      @night_niker Рік тому +4

      Инфоцигане они такие...

    • @slavyanRVR
      @slavyanRVR 7 місяців тому +1

      Чтобы вкатуны код поняли мб

    • @__.X3.__
      @__.X3.__ 5 місяців тому +1

      *еще круче так:*
      is_present = httpx.get(f'{url}{cast_id}').status_code in [200]
      return is_present

  • @Noname-y3h9g
    @Noname-y3h9g Рік тому +10

    Никогда не знал что такое микросервисы, только щас понял что я их всегда писал

  • @navalny1465
    @navalny1465 Рік тому +36

    поздняков. подписаться.

  • @GodFather-h4o
    @GodFather-h4o 15 днів тому

    Не соглашусь, микросервисы для маленького проекта как какой нить Авито или авто ру самое то. А вот большие проекты где у тебя только бэковой части больше чем на 100 микросервисов и к нему еще фронты и сервисы со стороны даты и ко в е му этому еще и транспорт какой нить типа кафки то выстроить микросервиснкю архитектуру весьма сложно и изменение одного сервиса может повлечь целую цепочку аффекта на соседей, плюс к этому еще сложность бесшовного перехода с монолита на микро сервисы и и куча всего остального,э.
    По этому микросервисы это нихуя не проще, это сложнее.

  • @mr.wayfarer6082
    @mr.wayfarer6082 3 місяці тому +1

    у нас в нашем мувис тактактак наша база наших данных нам наших тактактак нашего фронтенд нашего всё

  • @edward_togliatti
    @edward_togliatti Рік тому +10

    А я в 1с работаю программистом и на чиле

    • @Weissbier528
      @Weissbier528 Рік тому +15

      Держи в курсе, братан.

    • @pro100rea
      @pro100rea Рік тому +8

      переводи на микросервесы, создай 500 баз и обменивайся между ними, ведь твоя монолитная база в 1с НЕПОВОРОТЛИВАЯ

    • @diamondserg-43
      @diamondserg-43 Рік тому +5

      1с -,не программисты

    • @Edvard-Aliev
      @Edvard-Aliev Рік тому +1

      Не обращайте внимания, 1с это пропавшие для общества люди

    • @woody2677
      @woody2677 Рік тому +4

      @@Edvard-Aliev пока эти пропавшие зарабатывают пусть и копейки для прогера, жуны других прог в это же время аррют что их нейронки заменят)) И плачутся что никто не хочет такую сладкую булочку на работу за стописят миллиардов денях в день брать

  • @delifeful
    @delifeful 5 місяців тому +2

    1:00 описан говнокод а не монолит.

  • @kobakamladze4175
    @kobakamladze4175 Рік тому +5

    Я ещё не видел НОРМАЛЬНЫЙ полный курс по микросервисом на NodeJS... Кто нибудь посоветуйт...

    • @maximkoltsov9833
      @maximkoltsov9833 5 місяців тому +1

      Попробуй на питоне разобраться, методология все равно одна и та же, разница только в синтаксисе

    • @kobakamladze4175
      @kobakamladze4175 5 місяців тому

      @@maximkoltsov9833 начал изучение С# 2-3 месяца назад. Понял что JS говно полное...

    • @aleksandrpetrov3938
      @aleksandrpetrov3938 День тому +1

      purple school

  • @sysadm
    @sysadm 2 місяці тому

    Это что за монолит, если туго маштабируется?Микросервисы уместны на хайлоаде иначе золотое решение)..

  • @torburgmax
    @torburgmax Рік тому +6

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

    • @pro100rea
      @pro100rea Рік тому

      да все и везде примеры про монолит, держаться на том что что этот проект делали какие то макаки.

    • @capybleppa47
      @capybleppa47 Рік тому

      Боже, понятно же что это просто рандомный пример. Суть то ясна

    • @andrewkuzmin4400
      @andrewkuzmin4400 Рік тому +4

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

    • @torburgmax
      @torburgmax Рік тому

      @@capybleppa47 суть ясна? и в чем она? похоже на то, как потом приходят люди со знанием ооп, которых на аналогии с собачкой научили, что такое объект :)

    • @mralexxp3278
      @mralexxp3278 Рік тому

      ​@@andrewkuzmin4400для взаимодействия есть апи и более профессиональные инструменты. Микросервичы можно посадить и на одну машину, тогда цена не изменится, но при этом сильно загруженные модули можно переписывать на го, например, тогда как остальные мало нагруженные модули будут спокойно чилить на том же Джанго, при этом, в случае быстрого роста можно развернуть дополнительные ноды за несколько минут, когда монолит придется пилить либо пилить на сервисы, либо доходить до машин с высокогерцовыми процессорами. То есть если проект подразумевает рост, то проще и дешевле сразу на сервисах разрабатывать, например, ту же орм с распределенной базой.

  • @Chel1k7
    @Chel1k7 11 місяців тому +1

    почему не скинул ссылку на проект этот, в живую потыкать чтоб ?

  • @MrRobot-qx8vr
    @MrRobot-qx8vr Рік тому +1

    Все отлично, только не спеши с речью, никто не торопит

  • @dikiykipovec4918
    @dikiykipovec4918 23 дні тому

    Увидел, что что-то для меня) и зашёл 😂

  • @kolabaka6851
    @kolabaka6851 5 місяців тому

    Столько плохих комментариев в сторону подачи материала нигде во всём ютубе профильно на другой язык не найти, питонисты самые обнаглевшие и тупые. Автор, спасибо большое, очень помог

  • @Java_developer-ck9lf
    @Java_developer-ck9lf 5 місяців тому

    итог: если хотите писать микросервисы, пишите монолит на жаве

  • @МусаШаулаев
    @МусаШаулаев Рік тому

    Микросервисы для дебила, а я как раз микросервис

  • @norskiy9765
    @norskiy9765 Рік тому

    Пистонисты | Кирилл Поздняков

  • @Edvard-Aliev
    @Edvard-Aliev Рік тому +8

    Пайтон и микросервисы 😂😂😂😅😅😅

    • @cryptoworkdonkey
      @cryptoworkdonkey Рік тому

      Ну хоть не джава.

    • @Edvard-Aliev
      @Edvard-Aliev Рік тому

      @@cryptoworkdonkey а джаве не нужны микросервисы, у них монолиты идеально жрут оперативу сервера 🤣🤣😂😂😂😅

    • @muxeltv1435
      @muxeltv1435 Рік тому +1

      а что не так?

    • @bubblesort6368
      @bubblesort6368 8 місяців тому

      А чё не так? В слитых исходниках Яндекса куча микросервисов на питоне... Например в такси. Половина микросервисов на плюсах а половина на питоне

    • @Smbrine
      @Smbrine 7 місяців тому

      @@bubblesort6368чуваку сказали что питон медленный/жрет оперативу/ еще что-то и он эту «истину» понес в свет, не понимая, что как минимум питон разработчики работают раз в 10 быстрее, чем условные плюсеры, во-вторых объем кода, а следовательно шансы ошибиться и затраты на тестировщиков в пайтоне тоже меньше, ну и плюс половина библиотек для питона (как и в целом сам питон) это просто фреймворк для плюсов, который многократно сокращает объем работ) Понятно, что если условный Гугл пишет какой-то хайлоад под миллионы запросов в секунду, там лучше плюсы или дотнет (или свой язык ебануть, как они с grpc сделали), но во многих случаях питон справляется почти на том же уровне

  • @skatler5741
    @skatler5741 3 місяці тому

    Абоба

  • @scc-6
    @scc-6 Рік тому

    Не в претензию, просто работаю над интернет-магазином. Ты говорил, что в монолите может выгразка в эксель отчета влиять на отображение отчета. Что ты имел в виду? Пишу на МВС шарпе

    • @_daniilpetrenko
      @_daniilpetrenko Рік тому

      как минимум то что тебе придется поднять приложение целиком чтобы просто пощупать файлик экселя, вместо маленького микросервиса

  • @gapchannelAi
    @gapchannelAi Рік тому

    Ты через телефон снимал экран пк ?

  • @bgs12
    @bgs12 9 місяців тому

    Супер ролик! Спасибо за инфо! ))))

  • @fantasprite9175
    @fantasprite9175 Рік тому

    экстим цоде?

  • @mattsol9397
    @mattsol9397 Рік тому

    Вау, афигеть, жалко, что подписчиков мало(((

  • @AlexandrSpirit
    @AlexandrSpirit Рік тому

    что делать в зависимостями между таблицами?
    есть сервис отвечающий за адреса.
    сервисы: организация, торговая точка
    каждая организация или торговая точка имеет свой адрес_айди.
    Получая данные организации по запросу. мне нужно вернуть как данные организации, так и её адрес, вложенным объектом. С монолитом и реляциями всё просто, но как это реализуется в микросервисах?

    • @diperps4969
      @diperps4969 Рік тому

      твои сервисы должны обрабатывать месседжи от брокера о том, что новый адресс создан, и уже сохраняешь в бд и можешь делать с ними что хочешь

    • @AlexandrSpirit
      @AlexandrSpirit Рік тому

      ​@@diperps4969 вопрос не про создание записи, а про вернуть запись пользователю.
      Пользователь хочет получить
      {id:1
      adress_id:1
      adress:{strit:"улица"
      id:1}}
      т.е. ответ содержит реляцию на таблицу, которая находится в другой БД другого сервиса (сервис адресов)
      С монолитом всё понятно. Джоин или реляция.
      А микросервис как? Делать как в МонгоДБ? Получить объект организации. Взять adress_id, запросить в сервисе adress_id. Получить объект и вложить его в объект организации. Вернуть пользователю. Так?
      А теперь представим что это список из 500 организаций.

    • @diperps4969
      @diperps4969 Рік тому

      ​@@AlexandrSpiritдумай о том как сохранить адреса в бд в нужных тебе микросервисах. Я написал один из подходов как это можно сделать, это называется репликацией

    • @AlexandrSpirit
      @AlexandrSpirit Рік тому

      ​@@diperps4969 т.е. информацию из микросервиса с адресами дублировать в БД микросервисов Организации и прочих.
      А если инфрмация изменяется, нужно везде внести изменения.
      Ужас

    • @diperps4969
      @diperps4969 Рік тому

      ​@@AlexandrSpiritв монолитах такое также используют) при использовании ddd bounded context например. Но зато получаем много плюсов, микросеркисы меньше связанны и всякое такое

  • @romankolesnikov4373
    @romankolesnikov4373 Рік тому +1

    Бля, а есть мат.модель вот этой оптимальности микросервисов по сравнению с монолитами ?

    • @yurymatsiulka5786
      @yurymatsiulka5786 Рік тому

      Чем больше кода, тем сложнее его поддерживать, прогонять в пайплайнах, деплоить, увеличивается нагрузка на сервис.
      В общем тут надо исходить из удобства, а не из оптимальности.

    • @yurymatsiulka5786
      @yurymatsiulka5786 Рік тому

      Но чтобы это минимально почувствовать > 100000 строк кода надо написать, если C# например.

  • @lkvantaliani
    @lkvantaliani Рік тому +1

    Please don’t use this word with such connotation. People are born with this condition. Use any other word: дурак, идиот

  • @stas7che
    @stas7che Рік тому +2

    а где прописываются сами значения энвайромента (URI, USER, PASSWORD и тп)? Я вижу что энвайромент задается в докерфайлах но там константы просто, а где и как хранятся сами пароли, логины и тп?

    • @bashshell114
      @bashshell114 Рік тому +5

      Есть разные методы их предоставления, но чаще всего они задаются при запуске программы.
      В этом не продакшн примере - они хранятся прямо в docker-compose файле.
      Они могут так же могут парсится из какого-нибудь .env файла.
      В продакшене с микросервисами чаще всего используют k8s, в нем есть 2 сущности - это ConfigMaps и Secrets, которые управляют env-переменными.

    • @stas7che
      @stas7che Рік тому

      @@bashshell114 спасибо! просто у меня сейчас насущная задача - в питон проекте на гитхабе используются логины и пароли от почты, как их не светить в коде на гитхабе?

  • @asmrchannel2192
    @asmrchannel2192 Рік тому +1

    Питон это калл язык без типизации не понятными волшебными функциями и без нормальной многопоточностью

    • @toragodzen
      @toragodzen Рік тому +9

      оставь Python в покое, - у тебя даже русский язык безграмотный.😂

    • @RCCopterChannel
      @RCCopterChannel Рік тому

      Любой язык кал если не шаришь в нем

    • @bubblesort6368
      @bubblesort6368 8 місяців тому

      Ну аннотации типов там есть опциональные. В проде они не работают конечно, но все же конкретно в коде ide тебе подскажет несогласованность типов. Примерно как на тайпскрипте