Что такое микросервисы 👨‍💻 Основные принципы и паттерны

Поделиться
HTML-код
  • Опубликовано: 9 май 2021
  • Roadmap по каналу - bit.ly/3yKtxWf
    Курс GOLANG NINJA - bit.ly/3VWKfu3
    В этом видео разбираемся с теорией микросервисной архитектуры.
    Список тем и ресурсов для Backend разработчика - github.com/zhashkevych/awesom...
    #микросервисы #backend #бекенд

Комментарии • 113

  • @SergeiCherkai
    @SergeiCherkai Год назад +7

    "микросервис это маленький монолит" - ты просто красава, от души !!!

  • @liliyasiadzelnikava96
    @liliyasiadzelnikava96 2 года назад +3

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

  • @lemanaskerova7514
    @lemanaskerova7514 Год назад +1

    Максим, благодарю вас. Очень круто все обьяснили.

  • @den_is_kuts8139
    @den_is_kuts8139 9 месяцев назад +7

    Именно после таких видосов некоторые люди такие: сейчас мы перейдем на микросервисы, и решим наши проблемы 💪🏻
    На самом деле нужно понимать что микросервисы нужны не там как сказал автор если разработка вашего приложения больше месяца, или у вас более N строк кода, и нужно понимать что если ваша команда не может написать хорошо монолит, скорее всего она не осилит микросервисы
    Чтобы снизить сложность в разработке монолита при его масштабировании, необходимо делать его модульным, DDD и возможно чистая архитектура вам в помощь
    Если вам не нужно поддерживать приложение на разных инстансах, нет в этом необходимости, то микросервисами вы только усложните разработку включая инфраструктуру

  • @jakhongirrzimatov5888
    @jakhongirrzimatov5888 4 месяца назад +1

    Супер! очень нагладно и максимально простым языком!

  • @user-ur1ee5qx5x
    @user-ur1ee5qx5x Год назад +2

    Отличное видео
    Очень четко и понятно пояснил эту тему с примерами, респект

  • @MayorKozin
    @MayorKozin Год назад +1

    Отличная подача, спасибо!

  • @tatiana_shef
    @tatiana_shef 10 месяцев назад +2

    Отличное видео. Спасибо ❤

  • @VkusnyashkaMMM
    @VkusnyashkaMMM Год назад +1

    Круто ! Спасибо, видео классное!

  • @inga153
    @inga153 5 месяцев назад

    Супер! очень нагладно и максимально простым языком! очень ценю как ИТ аналитик. спасибо большое

  • @Devivl
    @Devivl Год назад +1

    Спасибо за видео, Максим.

  • @lookingforthetruth5903
    @lookingforthetruth5903 2 года назад +2

    Спасибо, отличное видео!

  • @itcloudguy
    @itcloudguy Год назад +11

    Отличная презентация, отличная подача и речь, отличная графика и пояснение! Спасибо большое за работу!

  • @user-xg9wt3he9q
    @user-xg9wt3he9q 3 года назад +4

    Полезное видео, спасибо

  • @dimachen86
    @dimachen86 3 года назад +60

    Максим, было бы классно подробнее про партиции баз данных. Темный лес для меня ) Спасибо за видео.

    • @kotikvacia9970
      @kotikvacia9970 3 года назад +1

      Хорошая мысль ! Однозначно в топ !)

    • @vladislavrodin8036
      @vladislavrodin8036 3 года назад

      Одна из глав в книге "С кабанчиком" больше информации даст

    • @user-oc3bw2ec7h
      @user-oc3bw2ec7h Год назад

      Партиции вроде бы в топике Кафка?! или я что-то прослушал ?

    • @dgdarkking266
      @dgdarkking266 Год назад +1

      @@user-oc3bw2ec7h Здесь речь идёт о такой практике проектирования микросервисов как "На каждый микросервис по БД" (далее именную это как микросервисная БД)
      Есть также практика, которая противоречит микросервисной архитектуре - "Одна БД на всё приложение" (далее называю это монолитной БД)
      БД и прога могут всегда быть выполнены в разных связках
      К примеру миркосервисное прилоложение и микросервисная БД
      миркосервисное прилоложение и монолитная БД
      Монолит приложение и монолит БД
      Монолит приложение и микросервисная БД
      Смысл микросервисной БД такой же как микросервисного приложения - отделение одного от другого и удобство маштабирования, использование для каждого сервиса своей более подходящей СУБД
      Сложность такого подхода заключается в правилах ACID - решение недавно глядел и обычно чаще всего используют его и его модификации - Проектирование Саг
      Как реализовывать саги ты выбираешь сам, но в любом случае раскидывая данные по разным БД ты отказываешься от некоторых аспектов - сам в этом в данный момент подробностей мало имею, лучше почитать, я как раз и занимаюсь сейчас изучением этого всего чуда

    • @hro688
      @hro688 Год назад

      @@dgdarkking266 интрересно, получаетсяЫ, у каждого микросервиса должен быть свой адаптер для БД?

  • @helly9401
    @helly9401 10 месяцев назад +1

    Оличное видео, спасибо! Все по полочкам, и в целом, доступным языком. Мне, как джуну-тестеру, много терминов ещё не знакомы, но всё равно тема микросервисов стала более понятна

  • @phpuser5920
    @phpuser5920 2 года назад +1

    Спасибо большое, удивительно, но очень понятно

  • @MaksimZhashkevych
    @MaksimZhashkevych  2 года назад

    Получи полный набор тем и список ресурсов для изучения Backend разработки
    www.zhashkevych.com/backend-roadmap?

  • @user-ry7ci3op9k
    @user-ry7ci3op9k 2 года назад +2

    Спасибо!)

  • @ermakovva9955
    @ermakovva9955 2 года назад +3

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

  • @madiyarniyazkhanov4916
    @madiyarniyazkhanov4916 Год назад +1

    круто объяснил, спасибо

  • @diceline1677
    @diceline1677 7 месяцев назад +4

    Ломал голову, чтобы кристально чисто понять зачем нужен докер, кубернетис, системы сборки, git. А оказывается есть короткий путь, нужно понять, что такое микросервисы, и это объясняет все.
    В принципе, логично, ведь современные инструменты соответствуют современной разработке, которая зависит от сложности программ, следующей из потребностей обычных людей и бизнеса. Благодарю, теперь всё собралось воедино.

    • @user-li5jh9gg9g
      @user-li5jh9gg9g Месяц назад

      Автор просто не слышал о контейгнрах

    • @user-nu2jz1sb4s
      @user-nu2jz1sb4s 17 дней назад

      Ну без гита и с монолитом не очень удобно будет. Докер тоже не помешает. А вообще, прежде чем начать пилить микросервисы, надо 20 раз подумать

  • @Alikhan.Umarbekov
    @Alikhan.Umarbekov 2 года назад +3

    Максим, ОГРОМНОЕ спасибо тебе за твои видосы! Я столько полезного извлекаю

  • @CHROMEBLAZEstudio
    @CHROMEBLAZEstudio 2 года назад

    Отлично!

  • @__ali__97
    @__ali__97 2 года назад +1

    Привет Макс, офигенный ролик про микросервисы, подкину тебе идею для ролика, расскажи про udp протокол

  • @VadiemPetrov
    @VadiemPetrov Год назад +2

    Привет! Подписался смотрю, спасибо за труд

  • @obivanbeluii
    @obivanbeluii 8 месяцев назад +1

    спасибо, хорошее обьяснение

  • @oeaoo
    @oeaoo Год назад +2

    Видно что ты теоретик.

  • @asdfg66666
    @asdfg66666 Год назад +1

    классно объяснено

  • @vanmihaylovich
    @vanmihaylovich Год назад

    Подробнейший обзор!

  • @romanbaltramun8434
    @romanbaltramun8434 Год назад

    Спасибо!

  • @firdavs8879
    @firdavs8879 3 года назад +3

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

  • @user-ol5zb2vr1n
    @user-ol5zb2vr1n 3 месяца назад

    👍Спасибо

  • @alexandertsapkov491
    @alexandertsapkov491 3 года назад +5

    Отличная вводная лекция! Спасибо)

  • @islamgashimov379
    @islamgashimov379 10 месяцев назад

    Четко!!!

  • @mranolegprivate
    @mranolegprivate Год назад +2

    Привет. Очень хорошо рассказал про микросервисную архитектуру. Просмотрев 1 раз, в это время я еще играл в игру ) Я понял про все, что ты рассказал мне, и теперь я знаю и могу рассказать, что такое микросервисная архитектура и что она из себя представляет, а так же знаю, где лучше использовать монолит, а в каких случаях микросервисы

  • @generalnevermore706
    @generalnevermore706 6 месяцев назад

    Я ещё до конца не дошёл, а уже могу точно сказать, что этот видос рекомендую всем кто готовится пройти тех интервью 😂
    P S Автор красава чётко получилось

  • @hello_world_zz
    @hello_world_zz 2 года назад

    thanks!

  • @user-zu8il2xw9d
    @user-zu8il2xw9d 11 месяцев назад

    молодец отлично про gateway

  • @victorl6900
    @victorl6900 3 года назад +2

    Максим, два вопроса - твой будущий курс будет на микросервисной архитектуре или на мононолите?
    В каком редакторe нарисованы схемы? Выглядит профессионально.

  • @user-py3nb3ur4m
    @user-py3nb3ur4m 2 года назад +2

    Крассавчик , полезная инфа

  • @thedeviljoy6374
    @thedeviljoy6374 3 года назад +3

    Ролик топ топыч!

  • @vonseven
    @vonseven 5 месяцев назад

    👍

  • @alukse9066
    @alukse9066 3 года назад +5

    Максим, подскажи, как ты искал вакансии на позициою junior go developer, по моему таких вакансих не то что мало - их нет, я долго работаю devops инженером и хочу немного перейти в go, но смотрю на вакансии - везде от 2х лет комерческой разработки.

    • @47clere
      @47clere 2 года назад

      Не пиши что джуниор) подавай резюме на мидл позицию, но пиши в резюме правду. Бывает что они собеседуют и тому, кто на позицию не проходит делают оффер на мидла. Поэтому на джуна почти нет вакансий: у HRa гора резюме всегда на джуна

    • @johnnysuedy
      @johnnysuedy Год назад

      Привет, нашёл работу, почему из девопса решил уйти? Я сам хочу из сетевик в девопс перейти

    • @johnnysuedy
      @johnnysuedy Год назад

      Сколько получал девопсом?

    • @alukse9066
      @alukse9066 Год назад +1

      @@johnnysuedy Не ушёл в go, писать на go мелкие проекты - приятно и интересно, но программирование за деньги не всегда приятно и интересно - это вывод исходя из того что я вижу у ребят в команде. Продолжаю заниматься devops/администрированием - почти перестал писать на go к сожалению

  • @donfedor007
    @donfedor007 Год назад +1

    Доброе время суток! Если в Django rest, несколько приложений со своими моделями и вьюшками они общаются через эндпоинты, всё это в одном Django проекте, это будет микросервисная архитектура или это монолит с приложениями в нём?

    • @user-un4jd3gh3g
      @user-un4jd3gh3g Год назад

      Если у них свои таблицы в бд да

  • @user-ur7bn1kd1p
    @user-ur7bn1kd1p 4 месяца назад

    "Преимущество монолита: у нас всё находится в одном месте".
    Тут не поспоришь, главное сказать в каком и как оно называется 😂

  • @oleh6664
    @oleh6664 2 года назад +2

    Дуже якісне пояснення, дякую Максим!

  • @yan200go
    @yan200go 2 года назад +1

    У всех подходов один недостаток - деплоймент)

  • @freetimeproject7
    @freetimeproject7 9 месяцев назад +1

    А твой "большой проект" какие задержки будет иметь ганяя данные от одного микросервиса к другому вместо нормального обмена в монолите в рамках единого приложения?) или "пофиг на продуктивность, просто более мощное железо поставим если что"?)

  • @user-er2hi9vl8n
    @user-er2hi9vl8n Год назад +1

    Получается, ендпоинты в API, это путь к отдельному сервису, в монолите их не бывает?

  • @timshevchuk4198
    @timshevchuk4198 Год назад

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

  • @akss9245
    @akss9245 3 года назад +1

    Максим, расскажи, пожалуйста, про собеседования) Что обычно спрашивают у джунов/миддлов/сеньоров гошников?

    • @MaksimZhashkevych
      @MaksimZhashkevych  3 года назад +2

      На следующей неделе как раз будет видео на канале про собесы для го разработчиков)

    • @akss9245
      @akss9245 3 года назад

      @@MaksimZhashkevych лучший, спасибо!

  • @user-sv1ze9gk3b
    @user-sv1ze9gk3b Год назад

    cool

  • @maksimepikhin
    @maksimepikhin Год назад +1

    Максим, хороший контент, спасибо за разъяснения.
    "да, то есть, по сути" - чуть кровь из ушей не пошла. Профильтруй речь, пожалуйста :)

  • @zengine2743
    @zengine2743 2 месяца назад

    монолит - это в сталкере

  • @vladzh2639
    @vladzh2639 Год назад

    Приветствую. А чем отличается msa от soa?

    • @hro688
      @hro688 Год назад

      Привет, на ютубе видел отдельное видео на эту тему

  • @davidapk323
    @davidapk323 3 года назад +2

    крутая инфографика, что за редактор? я про черно-зеленые схемы

    • @hro688
      @hro688 Год назад

      Привет, картинки похожи на те, что есть в книге Криса Ричардсона (но могу ошибаться). М.б их просто из презентации или чего-то подобного взяли

  • @grimax4966
    @grimax4966 Год назад +2

    Лайк только за последнюю фразу "не усложняйте" а так конечно вода и трата времени(

  • @UAStriker
    @UAStriker 3 года назад +1

    Слышал еще одно одно неофициальное правило микросервисов, что они должни состоять не более чем из 10000 строк кода не считая кода библиотек.

    • @kafkareader3212
      @kafkareader3212 2 года назад +5

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

  • @andriygaidar4913
    @andriygaidar4913 3 года назад

    Крутий матеріал, а буде приклад простого додатку з мікросервісів.

  • @aliexpress5284
    @aliexpress5284 Год назад +2

    Не стоило про монолиты рассказывать, если нет опыта

    • @millkiway3682
      @millkiway3682 8 месяцев назад

      Хайпануть нужно вовремя

  • @4sARy
    @4sARy 2 года назад +1

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

  • @zluy_mark
    @zluy_mark Год назад

    Дякую

  • @ayyayaay9399
    @ayyayaay9399 Год назад +7

    00:00 Вступ
    00:30 Моноліт
    05:20 Переваги моноліту
    06:34 Проблеми моноліту
    10:25 Мікросервіси
    15:27 Переваги мікросервісів
    18:52 Недоліки мікросервісів
    24:28 Патерни для мікросервісів
    26:38 Висновок

  • @user-ur7bn1kd1p
    @user-ur7bn1kd1p 4 месяца назад

    Где таймкоды?

  • @NewUser78654
    @NewUser78654 Год назад +3

    Мне кажется, это уже далеко зашло.
    Микросервисы оповещают микросервисы. Апи для апи. Господа, это клиника. Тут нужен хороший психиатр и длительный курс лечения.
    Какие паттерны микросервисов? Все паттерны описаны в ГОФ.
    Извините, я ошибся - не все паттерны, ведь есть ещё паттерны, о которых можно почитать в Википедии - их около 100 и их становиться всё больше.
    А есть и антипаттерны.
    Появляется новый программист и изобретает свой паттерн, свой велосипед, чтобы другие программисты не писали свои велосипеды, а использовали его велосипед. Круто.
    Или изобретает акроним - это такое красивое слово, под которое подводиться теоретическая база.
    А если во всем этом начать разбираться, паттерны, принципы, применение, критика, сильные и слабые стороны - то там просто всё противоречит всему.
    По теме ролика - никаких преимуществ микросервисов не вижу. Микросервис - это просто разделенный монолит и цель разделения, чтобы никто физически не залез туда, куда не надо. Вот этот кусок этой команде, этот той. И общайтесь через апи.
    Никакой простоты разработки и понимания. Больше команд, сервисов, сущностей, ответственности, планирования, согласования.
    Время запуска не ниже - развернуть 100+ микросервисов и согласовать их работу.
    ...
    Нет увеличенной работоспособности при частичном отказе системе, если откажет основная часть.
    Микросервисы это - мы пишем что то большое и через пару лет не будем понимать как оно работает. Поэтому мы инкапсулируем часть функционала в микросервис-черный ящик с интерфейсом и будем дергать его по апи. Как оно там работает мы уже не знаем - люди уволились. Поэтому мы ничего не будем трогать (изменять, привет open closed solidу), а будем расширять функционал путем создания новых модулей (аля наследование) общающихся с этим непонятным, но работающим ящиком, по апи (через его интерфейс).

    • @stoparb357
      @stoparb357 Год назад

      ты какой-то олух или неопытный, он в видео явно говорит - попробуй в монолите выдели мощность на одном сервере для одного модуля кода, а если упрешься в лимиты хостера? поэтому выделяются отдельные сервера для гибкости под каждую задачу и общаются они между собой через запросы.
      а деплоятся все микросервисы аж через docker-compose, чуть ли не с одним файлом, вот же ж ужасно и сложно это все делается.
      а еще можно запустить отдельно от всего приложения микросервис, протестировать и задеплоить отредактированные другие микросервисы по очереди и поэтому приложение не упадет на несколько часов в нерабочий отпуск - вы там как-то ждите сидите работнички и клиенты.
      а еще можно закрыть дыру в скорости какого-то модуля и написать его на c++, когда все остальное на python для быстрой разработки, но с медленным исполнением.
      попробуешь это реализовать без микросервисов, умнейший?
      не, ну объективно тебе не светит стартап на уровне амазона, поэтому и не парься со своим wordpress

  • @millkiway3682
    @millkiway3682 8 месяцев назад +1

    Очередной раз подтверждается фраза "видишь программиста работающего на маке значит он джуниор"

  • @grgvgrgv
    @grgvgrgv 2 года назад +1

    Макс, видЕо надо сокращать в разы. Очень много лирики, повторений, ненужных перечислений. Бери пример с Алексея Земскова.

    • @MaksimZhashkevych
      @MaksimZhashkevych  2 года назад

      видео*

    • @grgvgrgv
      @grgvgrgv 2 года назад +1

      @@MaksimZhashkevych, понятно же, что это была дурацкая опечатка...

    • @millkiway3682
      @millkiway3682 8 месяцев назад

      У него мак. Что вы пристали к подростку. Ему просто нужно показать что у него мак.

  • @liliyasiadzelnikava96
    @liliyasiadzelnikava96 2 года назад +1

    можешь чуток убрать громкость своего голоса и повысить музыку на заднем фоне :)

  • @delifeful
    @delifeful Год назад +1

    "высокая сложность при росте приложения"
    и
    "Сложно применить новую технологию"
    Если вы не можете этого сделать с монолитом, то у вас будут все теже проблемы и на микросервисах.

  • @shans-on
    @shans-on Год назад

    Я манал дебажить микросервиси 😢

  • @zharasbekshyrakbay9457
    @zharasbekshyrakbay9457 3 года назад

    Ты же вроде подстригся. Как за короткий промежуток времени ты отрастил волосы?

    • @MaksimZhashkevych
      @MaksimZhashkevych  3 года назад

      у меня хороший шампунь)

    • @codecoder5273
      @codecoder5273 3 года назад

      у тебя и мак хороший)

    • @zharasbekshyrakbay9457
      @zharasbekshyrakbay9457 3 года назад

      @@MaksimZhashkevych 😂😄😄😄😄

    • @millkiway3682
      @millkiway3682 8 месяцев назад

      Разработчик на мак это отдельная ветвь деволюции.

  • @emotional_stuff
    @emotional_stuff Год назад

    ох холивар

  • @VakaramGolang
    @VakaramGolang 8 месяцев назад

    Хватит белого фона)
    Мы что 1С разрабы что-ли тебе
    Шшшшшшутка избалованных )

  • @user-ei5lp3zu8m
    @user-ei5lp3zu8m 9 месяцев назад

    Много воды

  • @user-iz6mc9ri2d
    @user-iz6mc9ri2d Год назад +17

    не бизнес-логика, а просто ЛОГИКА. Не хексагон, а гексагон. И вообще, слишком много воды. Все пересмотрел на перемотке.

    • @Mak5eem
      @Mak5eem 21 день назад

      Зачем так мучал себя?

    • @shanewalsch
      @shanewalsch 15 дней назад

      Это принято называть бизнес логикой

    • @user-iz6mc9ri2d
      @user-iz6mc9ri2d 15 дней назад

      @@shanewalsch а чего не криминал-логикой? Поменяем традиции.

  • @dimasamsonau3646
    @dimasamsonau3646 2 года назад

    одна теория. бла бла... покажи код!

  • @macintosh156
    @macintosh156 5 месяцев назад

    Спасибо, отличное видео!