Микросервисы Простыми Словами за 1 Час

Поділитися
Вставка
  • Опубліковано 29 гру 2024

КОМЕНТАРІ • 290

  • @fakng-engineer
    @fakng-engineer  5 місяців тому +13

    Шпаргалка по Микросервисам: www.faang.school/java-junior-library?
    Мой Java Буткемп: www.faang.school/?
    Java Magics. Курс для начинающих: www.faang.school/java-magics?

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

      Можешь дать топ 10 тулзов спринга которые ты юзаешь на проектах и которые востребованы

    • @ТимаКама
      @ТимаКама 5 місяців тому

      ХАХАХАХАХАХ "Микросервисы Простыми Словами за 1 Час" КЛЮЧЕВОЕ СЛОВО "ПРОСТЫМИ И ЧЕЛЫЫЫЙ ЧАС"

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

      классно что ссылка не рабочая 1ая

    • @Ivan-t8l1r
      @Ivan-t8l1r 8 днів тому

      @@ТимаКама что имеешь в виду?

  • @ХанасисЕвгений
    @ХанасисЕвгений 5 місяців тому +422

    Бро, сделай подобное видео про Kubernetes. Лайк, кто за)

    • @СергейДенисов-ф6б
      @СергейДенисов-ф6б 5 місяців тому +4

      Да зачем он нужен, этим девопс занимается, программисту это не к чему

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

      @@СергейДенисов-ф6б не совсем согласен. Всё чаще и чаще от девелоперов требуют разбираться в оркестраторах. Не везде есть штатные девопсы.

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

      ​@@СергейДенисов-ф6б супер супер спорно. Многим разработчикам очень нужны знание кубера

    • @АлександрКоробейников-м3я
      @АлександрКоробейников-м3я 5 місяців тому

      @@СергейДенисов-ф6б чтобы пет-проекты в соло поднимать хотя бы)

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

      @@СергейДенисов-ф6б с таким мышлением ты ограничиваешь свое развитие и как следствие доходы

  • @goodvideobro
    @goodvideobro 5 місяців тому +140

    ждём про кафку всей маршруткой

  • @igordek9494
    @igordek9494 5 місяців тому +12

    Просто аплодирую стоя 👏👏👏👏👏👏
    Я недавно начал обучение, потихоньку вникаю во всю эту кухню, но нигде не видел такой обширной информации, которая рассказывает весь широкий спектр работы над проектами и работы разработчика в целом. Везде только и говорят, нужно научиться кодить, но никто не заикнулся о десятках других инструментах, которые необходимы, чтобы ваш код появился на свет. Это как сказать, повару, что он будет готовить борщ и промолчать о всех инструментах и продуктах, в конце концов тонкостях, которыми он должен уметь пользоваться (ну с борщом ясно пример лёгкий, потому что все знают как он готовиться ), но не каждый хоть раз в своей жизни видел (не говоря о делал) как с нуля рождается приложение. У меня всё. Спасибо! Всё ещё аплодирую 😂😂😂 👏👏👏👏👏

  • @arteria-circumflexa6527
    @arteria-circumflexa6527 5 місяців тому +42

    Влад, ждём кафку, спасибо за видосы!

  • @ВалентинаЗамотаева-у9н

    Спасибо большое Вам за уроки! Все понятно даже новичку) Отдельный респект за приятную грамотную речь)

  • @maxpain177
    @maxpain177 5 місяців тому +33

    Поинт про масштабирование монолита и нагрузку на железо неверный.
    В микросервисах нагрузка на CPU, память и особенно сеть в разы выше и затраты на железо куда больше.
    Связано это с тем, что в микросервисах очень много сетевой активности, и вместо того чтобы дешево вызвать метод в монолите, в микросервисах нужно делать RPC запросы либо через gRPC, что менее накладно, либо через http. Плюс появляется нехилый оверхед из-за latency.
    Также по памяти требования намного выше, если раньше у вас было 10 инстансов монолита и они жрали по 500мб памяти, то после распила на микросервисы это будет 100 инстансов по 200-300мб, потому что оверхед на рантайм всегда есть, глупо его игнорировать.

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

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

    • @antonkhotoolev4214
      @antonkhotoolev4214 4 місяці тому

      @@slayers2966 уже сейчас есть большой спрос не спецов, которые умеют "фарш обратно" провернуть. За прошлую декаду натворили.
      И дело тут не в том, что микросервисы это плохо. А в том что их повпихивали там где это не нужно не думая о цене.
      А цены кусаются: девопс + инфра + замедление цикла + доп разработчики. За 5 лет на средней руки проэкте это выбивается в 500k $.
      Уменеджмента волосы дыбом встают когда они видят что этот выбор им стоил примерно как новенькая яхта.

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

      @@slayers2966 модульный монолит

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

      А есть разница между "micro services" и " web services". или это одно и тоже?

    • @dmitriiandrukhiv3579
      @dmitriiandrukhiv3579 2 місяці тому +2

      Вы описали проблемы сервисной архитектуры. В микросервисной архитектуре синхронные веб-вызовы (http, grpc, ...) не используются вообще. Использование веб-вызовов - это признак того, что у вас что-то вроде распределенного монолита, но точно не микросервисная архитектура

  • @АлександрЛюбимов-я1ы
    @АлександрЛюбимов-я1ы 3 місяці тому +1

    Редко пишу коментарри, но после простмотра почти всех видео Влада, хочу поблагодарить за очень классные видеою. Я так понимаю что ты восновном работаешь в java, я учусь на python но из-за хорошей подачи информации мне очень интересно смотреть. Жду больше видео.

  • @bromanovv
    @bromanovv 5 місяців тому +9

    Вы так круто и понятно рассказываете, респект 😊
    Сделайте, пожалуйста, про REST подобное видео

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

    Как же приятно тебя слушать, когда ты не транслируешь свой (надеюсь - временный) нарциссизм.
    Великолепное видео.
    Слушал полутарочасовые лекции по Кафке - не понял, зачем нужна Кафка. А ты так запросто объяснил, даже не акцентируя на этом! Теперь абсолютно ясно. Супер!

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

    Очень крутое видео, классный автор канала, так легко все объясняет, что даже мне стало понятно! Отдельное спасибо за прекрасную инфографику, представляю сколько труда в нее вложено! Вы большой молодец!

  • @konstantinanimitsa1909
    @konstantinanimitsa1909 5 місяців тому +7

    1. Разработчик ленты сальтерил в бд таблицу изменив колонку с varchar2 на clob, а остальные сервисы ожидают тот же varchar2 - куда пойдут все микросерсисы?
    2. Масштабирование - как правило это все на ВМ и гипервизор становится тем что ранее был монолит и т.о. только усложняется все , без полезного выхлопа.
    3. Обмен между сервисами очень неприятен для отделов безопасности и доставляет проблемы при работе, т.к. могут вводиться правила-запреты которые сведут на нет работоспособность.

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

      На счет первого. На примере . net если разраб поменял колонку то он скорее всего и модель на которую маппит таблицу тоже обновил и тогда апи модель поменяется и можно обновить нугет пакет нашего сервиса. И все проблемы нет все остальные сервисы обновят нугет пакет и будут ждать уже новый тип

  • @user-ym7ir4ut8c
    @user-ym7ir4ut8c 5 місяців тому +3

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

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

    Очень классная подача!! Очень интересно смотреть и слушать. Благодарю за труд.

  • @myfoxeyes
    @myfoxeyes 2 місяці тому +3

    НА 24.30 мин. вместо микросервисов нужно сказать монолит) А видео просто великолепное!

    • @pablo8896
      @pablo8896 Місяць тому

      Да, я в какой то момент подумал что я что то прослушал

  • @АнтонФедотов-д4д
    @АнтонФедотов-д4д 5 місяців тому +3

    Ляяяяяяяяяяяяя Пушка бомба аллигатор Жирный плюс за то что он поясняет что сервак это отдельный комп Как я раннее писал под одним видосом Что так же при введений нового слова Диплойд ( так же объяснил и рассказал что это такое и с чем его едят) Так же очень круто что он не забывает показывать все это дело в картинках ( в схемах) , а так же что бы все двигалось Так же круто он ввел новую фичу с ценником 1000$ или же 3000$ ( новые пользователи лучше усваивают и понимают , для чего и за чем Так как на деньгах тоже проще объяснить ) Не забывает повторять и объяснять все те же слова что были в предыдущих видео (повторение мать учения) Что подчеркивает , внимательность Влада , а так же понимание и улучшения скила в учительском понимание Что бы донести информацию до любого человека и без разницы чем он занимается или же кем работает Работа учитель донести информацию до любого человека хоть сантехник, хоть бухгалтер, хоть парикмахер Монолит и микро -сервис знал чем отличаются Больше всего я смотрел как он работает над собой и как он качественно доносит информацию до зрителя И это просто пушка А не как у меня на курсах , ментор знает за программирование, но ни черта толком не может объяснить порой на человеческом - колхозном языке Что бы людям было понятно Программист который способен объяснить и разжевать на простом человеческом языке Это прям высший пилотаж ® ► ♫ ☼ ◄ Зачет √

  • @vegatv5474
    @vegatv5474 5 місяців тому +15

    Вопрос о монолите. Так разве принципы SOLID они не об этом в том числе говорят, чтобы не связывать компоненты? Абстракция, инкапсуляция, внедрение зависимостей... Всё что ты перечислил в недостатках монолита скорее выглядит как кривая архиктерура, или я что-то не так понял? My bad, разобрался. Архитектура это только одна проблема, куда важнее возможность масштабирования при развертывании. Тем не менее, думаю, стоит упомянуть, что в идеале, даже разрабатывая монолит, лучше заранее планировать архиктуру так, чтобы компоненты были минимально связанны друг с другом. И единственная разница, которая должна быть в этом случае -- что данные передаются через внешний источник, а не внутри приложения. И тогда будет удобнее поддерживать и удобнее расширять и при необходимости сделать компоненты внешними, просто изменив каналы получения и отправки данных.

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

    Огромнейшее спасибо! 2ой день смотрю ваши объяснения. Всё так понятно и доступно, давно такого контента не видела.

  • @dddryinside
    @dddryinside 4 місяці тому

    Было очень интересно смотреть, всё понятно с первого раза. Спасибо за такой контент! 👏👏👏

  • @Csenonify
    @Csenonify 5 місяців тому +35

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

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

      шш! тише ты, нельзя такое говорить еще :)

    • @Ivan-t8l1r
      @Ivan-t8l1r 9 днів тому

      а как масштабировать монолит?

    • @Csenonify
      @Csenonify 8 днів тому

      @@Ivan-t8l1r делать кластер на несколько инстансов монолита. В отдельном случае, если проседает какая то отдельная часть монолита, то тогда её оправданно можно заворачивать в отдельный микросервис и масштабировать отдельно. Но зачастую поднять в кластере ещё один инстанс монолита значительно проще чем поднимать n количество отдельных микросервисов в пиковые нагрузки.

    • @Ivan-t8l1r
      @Ivan-t8l1r 8 днів тому

      @@Csenonify чем поднять один инстанс монолита проще?

    • @Csenonify
      @Csenonify 8 днів тому

      @@Ivan-t8l1r тем что это 1 инстанс, а не n

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

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

  • @AtlasinfoAtlasinfo
    @AtlasinfoAtlasinfo 5 місяців тому +21

    TL;DR: Очень притянуто за уши и местами выводы весьма странные, местами вообще противоречивые.
    1) Изолированность. То что преподносится как "отличие" монолитов - жесткое связывание, на самом деле проблема кода и (не)соблюдения SOLID, хотя на самом деле при верном проектировании мы получаем абсолютно тот же обмен данными как в монолите (мы передаем данные через DTO, либо четко следуем интерфейсам и используем геттеры и сеттеры), но передача данных осуществляется внутри приложения, а не на разных серверах, что сильно быстрее и не имеет тех проблем обмена данными, имеющихся в МС.
    2) Ответственность. Ну и деплой сразу. В любом случае - монолит или МС - вы должны знать что делают другие части, по сути в обоих случаях вы используете АПИ другого объекта. Так что все равно надо понимать как работают другие части, как бы не хотелось ограничиться чисто своим кусочком кода. И не знаю как в "больших компаниях", но в тех где я работал обычно есть правило - один комит по задачам не деплоится с другим. Все идут в своем порядке. Тогда откат одной фичи не ломает остальной рабочий функционал. Ну и это более актуально для компилируемых приложений, для условного пхп фикс не требует отдельного сервера и прочих танцев для замены 1 файла.
    3) Надежность. В принципе, обсуждаются те же проблемы что и с остальным - связанность, которая как бы не проблема монолита, а проблема кода. И проблема сложных зависимостей и связанных с ней багов так же остается в МС (компоненты так же обмениваются данными, просто это происходит чуть сложнее), теперь ее просто сложнее отследить. К слову, при "отваливании" каких-нибудь нотификаций, монолит абсолютно так же не развалится и не пойдет в разнос, просто пропадут нотификации. А при отваливании авторизации проблемы будут при любой архитектуре во всем приложении.
    4) Масштабирование. Тут немного странно это подается, так как нагрузка в современных приложениях это не "код ленты не вывозит", а в 99% случаев это либо нагрузка на бд, либо запросы с внешних апи, которые имеют свою пропускную способность и лимиты/квоты. И тут как бы вы не масштабировали сервера ленты, база быстрее не заработает. Предположим, что у ленты свои сервера бд, которые имеют чисто свои данные по ленте, и больше ничего, все остальное что напрямую не относится к новостям. Тогда мы разворачиваем кластер и добавляем пару серверов для бд ленты... Беда в том, что как и говорил автор, все компоненты связаны, не напрямую, но запрос ленты тянет за собой запрос на рекомендации, на пользовательские данные, на еще кучу всего, и при этом все это не бегает внутри приложения, а бегает по внешним сервисам, которые в итоге получают практически такую же нагрузку, но все это еще накладывается на накладные расходы промежуточных линкующих сервисов/сетей... Молчу о том что есть "небольшой" нюанс - в итоге будет дешевле поставить +пару серверов для монолита, чем расставлять на каждом поднагруженном сервере по паре серверов послабее, так как чем мощнее сервер, тем дешевле он выходит на условное количество операций/сек.
    5) Гибкость/изоляция МС как преимущества: Две основные фичи - изоляция (о чем я выше говорил) и разные стеки для разных микросервисов. С изоляцией спорно, "но окэй", а вот зоопарк стеков технологий это прям киллер фича микросервисов. Собсно рождение МС как концепции начиналось именно с выноса кусков монолита в отдельный сервис, так как этот кусок на текущем стеке "не вывозит". Дальше эксперименты по разбивке всего на все и вот эти все попытки связать кучу всего в одно работающее распределенное приложение. На сегодня это уже +-отлаженный процесс, так что особо прям фантазии для построения МС архитектуры много ума не надо, читаем доки, настраиваем, профит. И по скилам - особо от монолита не отличается (так как по сути мы и пишем маленький монолит), проблемы начинаются на этапе связывания, синхронизации, проверки консистентности и кучи бд, состоящих из частично надцать раз дублирующихся данных, что больше задача для архитекторов и сеньоров. То есть реально спецов там нужно мизер, но это именно "сливки" сообщества, которых и так нифига нет и охота за ними идет похлеще чем за синей птицей. Что создает определенные проблемы, особенно в свете последних событий. Вывод в отдельном коменте.

    • @TSUNAMIBEATSONE
      @TSUNAMIBEATSONE 4 місяці тому +2

      Шикарный комментарий по делу. Прочитал с интересом!

  • @АнастасияКузнецова-д6т

    Спасибо, очень круто! Ждем другие видео, разъясняющие архитектуру приложений

  • @JoannsEngels-ej3rz
    @JoannsEngels-ej3rz 5 місяців тому

    Спасибо, Влад! Я благодаря твоим видосам начинаю понимать, что у меня на работе происходит ))

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

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

  • @АлександрГерасимов-я6я
    @АлександрГерасимов-я6я 5 місяців тому +1

    Про брокера Kafka прям очень жду. Сейчас актуально - устроился в сопровождение внедрения ПО, много вопросов. По большей части сам разбираюсь в архитектурных схемах, свои проекты ещё не начались.Подписался!

  • @gggg-ky3pf
    @gggg-ky3pf 5 місяців тому +2

    Спасибо вам огромное! , очень наглядное и познавательное видео!

  • @FRED-qo2xd
    @FRED-qo2xd Місяць тому +1

    Буду ждать ролик всё о работе инженера нагрузочного тестирования))

  • @predatel_rodini
    @predatel_rodini 21 день тому

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

  • @aleksey2408
    @aleksey2408 5 місяців тому +3

    Спасибо, Влад. Очень полезное видео!

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

    Таня привет! Очень интересный влог, здорово, что у вас много разных мероприятий, которые собирают людей для общения, да ещё такое разнообразие по интересам. Покупки супер! Правильно, себя надо тоже баловать❤

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

    Молодец. Разжевываешь очень хорошо. Спасибо тебе за это. Лайк и подписка

  • @andrewbondaryuk
    @andrewbondaryuk 7 днів тому

    О, ещё один поклонник карго культа 😀

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

    Можно также монолит пилить в разных репозиториях. Делаешь артифакт, через зависимость подключаешь к основному ппроекту

  • @internetnickname8923
    @internetnickname8923 4 місяці тому +1

    Чел спасибо тебе за кучу сэкономленного времени и денег) Я понял, что для микро стартапа нужен монолит)

  • @el1uz598
    @el1uz598 4 місяці тому

    Молодец, классно. Я по сути в целом все это знал, но последняя часть была полезной.
    Если есть малая преза в 2 слайда с плюсами и минусами каждой архитектуры было бы круто, чисто чтобы сохранить

  • @ДенисСкворцов-м5я
    @ДенисСкворцов-м5я 4 місяці тому

    Супер разбор. Никогда не думал что пойму эту казалось сложную тему за 49 минут. Большое спасибо. Но слово "Ошибка" пишется через букву И )) Не знаю по приколу ты написал через Ы или по правде ошибся, но бросилось в глаза в самом последней части на 47 минуте :)

  • @ВладимирКузнецов-щ8х
    @ВладимирКузнецов-щ8х 4 місяці тому

    Полезное видео, все доступно и понятно рассказано!

  • @maxsimusmaxsimus6016
    @maxsimusmaxsimus6016 4 місяці тому +1

    КРАСАВЧИК ВСЁ ПОНЯТНО ОБЪЯСНИЛ РЕСПЕКТ.

  • @eugeneantonyuk
    @eugeneantonyuk 3 місяці тому +1

    Хорошее видео для новичков

  • @АлександрГерасимов-я6я
    @АлександрГерасимов-я6я 5 місяців тому +1

    Спасибо за видос!Доступно, красиво!

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

    Крутой и очень понятный разбор. Жду теперь ролик про Kafka

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

    Это же "чистая архитектура"! Привет дяде Бобу!

  • @АлександрГерасимов-я6я
    @АлександрГерасимов-я6я 5 місяців тому +2

    Про ТУЗы интересно,сам процесс подключения к БД, к Кафке и т.д. Про установку SSL сертов. Много в общем вопросов по инфраструктуре во всех контурах.

  • @dimaguka
    @dimaguka 27 днів тому

    Спасибо за видос, круто объясняешь.

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

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

  • @SergeyKucherenosov
    @SergeyKucherenosov Місяць тому

    Хорошее видео получилось, прям смотрю и вижу архитектуру нашего приложения. Только есть кажется неточность относительно Prometheus. На сколько я понимаю Prometheus сам ходит за метриками к сервисам на определённые ендпоинты сервисов, которые и выдают определённые метрики.

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

    Смотрю перед собесом на системного аналитика, очень круто структурирует информацию

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

    Спасибо! Кратко, понятно, полезно!!!

  • @ТимурМулашев
    @ТимурМулашев 5 місяців тому +1

    Крутой видик, спасибо большое за труд

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

    Очень классное объяснение, молодец !👍

  • @andrew-ld1jg
    @andrew-ld1jg 5 місяців тому

    Хотелось бы видео про load balancer. Спасибо за труд!

  • @petefedorov2955
    @petefedorov2955 3 місяці тому +1

    На мой взгляд, лучшее объяснение микросервисов из всех, что видел. Спасибо огромное за простую и лаконичную подачу столь сложного материала! 🙏🏽

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

    Let'sss gooo!🔥🔥🔥

  • @ДарьяБулат
    @ДарьяБулат 2 місяці тому

    Спасибо! Ждем новые видео)

  • @ЕвгенияПопова-з8м5е
    @ЕвгенияПопова-з8м5е 5 місяців тому

    Офигеть! Супер круто))) спасибо)

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

    Влад опять радует своих подписчиков топовым контентом, спасибо)
    (Опоздал на премьеру 😢)

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

    Огонь, жду видео про service discovery, service registry, service mesh, saga, kubernets...

  • @СергійЧалий-ч8и
    @СергійЧалий-ч8и 2 місяці тому

    Крутое видео, спасибо!❤

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

    Для новичков видео будет полезным. Но про то что микросервисная архитектура значительно сложнее тут можно подискутировать. Если каждый микросервис написан грамотно и предоставляет апишку т.е. чёткую систему для взаимодействия с ним, а так же отслеживает успешное получение данных другим микросервисом то разработка такого приложения просто в кайф. И да у каждого микросервиса обязательна своя отдельная база данных, а если от неё что-то нужно другим микросервисам апишка в помощь.

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

      и это ничем не будет отличаться от связанности между компонентами в монолите

    • @SergienkoVitaly
      @SergienkoVitaly 20 днів тому

      И чем это будет отличаться от модуля реализующего интерфейс, через который с ним нужно работать?
      Про базы, ну да, конечно сделать один сложный sql запрос это одна проблема, а собрать аналогичный результат через 3 апи это прям легче.
      Причём в соседнем комменте, утверждается, что наличие http и grpc запросов для общения микросервисов это вообще ни разу не верно...

  • @programmer-inwall
    @programmer-inwall 5 місяців тому

    Ура! Микросервисы!!!
    Очень кстати!

  • @emrahhakan5462
    @emrahhakan5462 4 місяці тому

    Спасибо тебе за такое информативное видео

  • @VictorDubiniuk
    @VictorDubiniuk 4 місяці тому

    Отказоустойчивость выше - да.
    Но у майкросервисов тоже бывают конфликты API, а монолит может быть написан по феншую "loose coupling high cohesion"

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

    Имхо, применение мс архитектуры зависит от потребностей проекта. Развертка и настройка не из самых простых. Следовательно выбор зависит от бюджета проекта и временных рамок...

  • @Камиль-п9ч6ш
    @Камиль-п9ч6ш 5 місяців тому +2

    24:30 преимущества по сравнению с монолитом, оговорочка

  • @БЛАУГРАНАС
    @БЛАУГРАНАС 3 місяці тому

    дядя валера и на джаве и на пайтоне работает, вот это мужик

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

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

  • @user-fn2up4px1m
    @user-fn2up4px1m 2 місяці тому

    8 минут и всё уже в целом понятно, но интересно что дальше.. смотрим, подписываемся..

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

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

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

    Благодарю за видео. Очень полезно.

  • @Ivan-t8l1r
    @Ivan-t8l1r 8 днів тому

    31:50 так раньше был один сервер ценой 3000, а сейчас нужно 4 сервера общей ценой 3500.

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

    Спасибо и от тестировщиков!)

  • @TheDustyChannel3334
    @TheDustyChannel3334 5 місяців тому +18

    12:48 боже, Леонардо ДиКаприо в лучшие годы...

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

    Это было очень интересно!

  • @dead7643
    @dead7643 5 місяців тому +7

    1) а у микросервисов нет такого же жесткого связывания? Например, я поменял систему нотификации так, что ожидаю от сервиса немного другой http запрос. Получается, что мне нужно лезть в сервис постов и менять отправку http запроса. И, в теории, кол-во таких связей будет столько же, сколько и в монолите. То есть, где в монолите я вызывал функции, в микросервисе я ожидаю http запрос.
    2) если у коллеги случился баг при разработке в монолите, то его гит ветку можно просто откатить, оставив всё остальное, не? А если он менял http запрос в микросервисе, то опять же нужно выкатывать два сервиса разом без возможности отката только одного.
    3) по масштрабирование. Очень непонятно по поводу нового железа для монолита. Из рассказа получается так, что для поддержания ленты новостей мы покупаем новый сервер, но используем только часть производительности. Но это же не так. Если нагрузка на остальные части монолита небольшие, то вся оперативка уйдет на ленту новостей. Не может же оперативка уходить в "никуда", само устройство пк вполне справляется с распределением на задачи. У микросервисов появятся дополнительные траты на ту же кафку/передачу http запросов.
    4) Мне нравится, что в "Преимущества: надежность" показан отказ именно нотификации. А если откажет лента новостей? В любом случае большая часть функциональности ляжет. Как-будто был выбран самый удобный пример для автора. В случае монолита придется конечно перезапускать всё приложение, но хотя бы можно удобно отдебажить и найти ошибку, что как-будто более важно при отключении важных сервисов (например ленты новостей).
    Я чувствую, что тупенький, но как-будто из перечисленных преимуществ только разработка на разных языках отдельных микросервисов является неоспоримым баффом.

    • @ИгорьЖуков-к3г
      @ИгорьЖуков-к3г 5 місяців тому +2

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

  • @РустамРустамов-д9х
    @РустамРустамов-д9х 5 місяців тому

    Люто плюсую. Спасибо

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

    Оооо да ждал такое видео

  • @ЮрийЧернышев-э6о
    @ЮрийЧернышев-э6о 5 місяців тому

    Привет, очень жду docker compose))) логичное продолжение docker

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

    Влад, а где тут место для Desktop интерфейса 3:00?

  • @ЕгорТупикин-л6ъ
    @ЕгорТупикин-л6ъ 5 місяців тому

    видос лютая имба, автору +rep

  • @vasilsuarez5075
    @vasilsuarez5075 4 місяці тому

    спасибо, хорошие у тебя видео)

  • @ManticoreRoko
    @ManticoreRoko 5 місяців тому +11

    Ждём разбор Кафки. А ещё лучше её заменитель - Redpanda. А ещё лучше сравнение обоих

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

    Привет из Воронежа)))

  • @ГеннадийШушпанов-д1ч
    @ГеннадийШушпанов-д1ч Місяць тому +1

    Про проблемы монолита очень не убедительно. Жесткое связывание не свойство монолита. Нет разницы вызываете ли вы метод непосредственно или через API микро-сервиса. Те связи, что Вы нарисовали, если они действительно нужны, никуда не денутся. Соответственно никуда не пропадет и ответственность за них. Точно также изменения в микро-сервисе ленты, может вызвать сбой в микро-сервисе отправки уведомлений. Проблема с монолитом в другом -- в том, что он работает по принципу либо все, либо ничего. Вы упомянули об этом. Любая ошибка приводит к отказу всего функционала, а это очень неприятно. Вот это и лечат микро-сервисы, а волшебного свойства устранять жесткие связи между компонентами, снимая с вас ответственность, у них нет. И ошибки точно так же искать придется.

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

    Спасибо, Влад, очень интересно рассказываешь. За*6иcь 👍

  • @sergey1277
    @sergey1277 2 місяці тому +1

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

    • @sergeykvartalnov8232
      @sergeykvartalnov8232 Місяць тому +1

      так и есть, в микроосервисной архитектуре подобные проблемы никуда не деваются, проблемы не очень хорошего проектирования, когда их становится пару десятков и функционал вырастает из первоначального этапа "ура, мы все перепишем на микросервисы!" начинается такой же ад только распределённый 😊

  • @ПавелТалашкин-х7б
    @ПавелТалашкин-х7б 28 днів тому

    Привет, сделай пожалуйста видео. Разница между веб серверами и серверами приложений.

  • @sergei_x1000
    @sergei_x1000 Місяць тому

    Про CI/CD запиши видосик)

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

    Кросавчег. Я только не понял, почему старый добрый принцип изоляции назвали микросервисами. Потому что они связываются через интернет?

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

    Супер!

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

    Влад, выхожу на маркет через пару месяцев, обучаюсь в буткемпе уже 8 й месяц. Интересно, можно ли с тобой провести пару индивидуальных курсов? За видео огромное спасибо, просто нереально, тебе нужно на английском выпускать тоже, уверен аудитория увеличится в разы.

  • @grishat2
    @grishat2 4 місяці тому

    Тут много толковых комментариев про неочевидные преимущества микросервисов над монолитами. Но мне кажется не поднята основная тема - это докеры и соответственно Kubernets. Именно они позволили сравнительно легко оперировать и поднимать образы микросервисов при нагрузках. Хайп на микросервы только из-за докеров IMHO.

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

    В монолите компоненты тоже могут быть изолированы друг от друга. А насчёт Кафки и другой хуеты для реализации взаимодействия компонентов помимо сложности самих этих инструментов, сами компоненты должны стать сложнее по части ipc

  • @RadikKarimov-f4n
    @RadikKarimov-f4n Місяць тому +1

    Ну как говорится... За мналиииит

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

    Спасибо Влад, топ

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

    Анимации и правда помогают)

  • @Завтрабудетлучше-ф6ж
    @Завтрабудетлучше-ф6ж 5 місяців тому

    Очень понятно, даже для полных нулей)

  • @user-0xDEEDBEEF
    @user-0xDEEDBEEF 4 місяці тому +2

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

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

    В чем разница между микросервисами и СОА (сервисно ориентированная архитектура) ? Если можно - пример СОА. Спасибо

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

    прикольная прическа на 12:48
    ждем видео про кафку и спринг