Микросервисная архитектура, как в BigTech (микросервисы vs монолит)

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ก.ย. 2024
  • Мой курс по разработке микросервисов: clck.ru/38TJCD
    В этом уроке ты:
    - с нуля разберешься в монолитной и микросервисной архитектуре приложения;
    - узнаешь, в чём разница между монолитом и микросервисами, их сильные и слабые стороны;
    - поймешь, нужны ли в твоем проекте микросервисы и какие паттерны используют BigTech-компании.
    Telegram-канал о микросервисах: t.me/go_micros...
    Личный telegram-канал: t.me/+B_uc42KD...
    Мой Boosty: boosty.to/olez...
    Linkedin: / olezhek28
    gRPC в Golang: Практическое Введение в Основы: • gRPC в Golang: Практич...
    Чистая архитектура проекта на Golang: • Чистая архитектура про...
    Про жизнь в IT, которая не ограничивается кодом! Всем давно известно, что программист - это человек, который работает пару часов в день, а остальное время попивает ванильный раф. Однако, такое бывает не всегда и не везде. Айтишка, кроме этого, полна специфических проблем, трудных задач и серьезной нагрузки.
    Меня зовут Олег, я старший разработчик в Avito Tech. На своём канале я делюсь опытом жизни в IT. Иногда это технические ролики о моём любимом golang, а иногда я отвлекаюсь от кода и говорю о житейском. Golang - это конечно хорошо, но на нём всё не заканчивается.
    Интересно же обсудить обучение и развитие карьеры, психологические страхи и выгорание, плохие и хорошие компании, а также помочь начинающим в их непростом пути в айтишку. Я знаю, как сложно начать свой путь в мире IT.
    Поэтому своим контентом, я в том числе, хочу поддержать тех, кто решился на это. Подписывайся на мой канал и приятного просмотра!
    Подписывайся на мой канал: / @olezhek28go
    #ОлегКозырев #жизньвайти #программирование

ความคิดเห็น • 61

  • @emotional_stuff
    @emotional_stuff หลายเดือนก่อน +2

    21:15 ахаха орнул с "Попробовали так, поели говна"

  • @roman_zh1
    @roman_zh1 6 หลายเดือนก่อน +1

    Привет, очень классная презентация, мне понравилась история кота и конец хороший)
    Можешь на пару вопросов ответить, плз?
    12:25
    Схему видел не раз) но вопрос такой, а частая ли практика разработать монолит, а потом распиливать его на микросервисы? Или обычно сразу пилят микросервисы?
    Тут ключевой момент как быстрее разрабатывать, сделать монолит, а потом уверенно выделять микросервисы или же создавать сразу микросервисы, а потом мерджить некоторые) Подскажи, как по твоему опыту лучше?
    34:30
    Балансировка на клиенте звучит очень странно. По идее де факто везде должна использоваться серверная балансировка, ведь сервер знает какие ноды сейчас загружены больше, а какие меньше. Если же балансирует клиент, то там чисто рандом, так ещё и рандом такой, что клиенты могут в одинаковые серверы пулять запросы. Может я что-то не понимаю?
    36:15
    Ты так рассказывал про API Gateway, что у меня создалось впечатление, что можно без него жить) Вопрос, делают ли микросервисы без API Gateway? Не представляю такой кейс.

    • @olezhek28go
      @olezhek28go  5 หลายเดือนก่อน

      Привет) как-то упустил твои вопросы) исправляюсь)
      1) Конечно быстрее и лучше сразу делать микросервисы, если есть цель к ним прийти, но далеко не всегда понятно, что нужны именно они, особенно когда на дворе 2007😀

    • @olezhek28go
      @olezhek28go  5 หลายเดือนก่อน

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

    • @olezhek28go
      @olezhek28go  5 หลายเดือนก่อน

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

  • @elisorium
    @elisorium 27 วันที่ผ่านมา

    Половина всех паттернов ломается, если это не веб и клиент должен всегда держать персистентный tcp коннект к серверу. Коту привет )

  • @Arhat2
    @Arhat2 7 หลายเดือนก่อน +5

    По мне кажется есть некоторая путаница. Очень часто упоминается один репозиторий у монолита, но у микросервисов он тоже бывает и так делают, поэтому монорепозиторий != монолит.

    • @olezhek28go
      @olezhek28go  7 หลายเดือนก่อน

      согласен) возможно местами оговаривался или упростил и это ввело путаницу)

  • @emotional_stuff
    @emotional_stuff หลายเดือนก่อน

    5 килограмм отборного ангусского мяса

  • @Mr8ballist
    @Mr8ballist 12 วันที่ผ่านมา

    Олег, а как дела у новых красных и Стейшен Маркс?)

    • @olezhek28go
      @olezhek28go  11 วันที่ผ่านมา

      Думаю лучше узнать в их пабликах)

  • @rerurkful
    @rerurkful 23 วันที่ผ่านมา +1

    Самый большой + микросервисов. Если что то падает то система живет. А менеджер тебе сообщает, кто ушел спать

    • @olezhek28go
      @olezhek28go  22 วันที่ผ่านมา

      Это да)))

    • @rerurkful
      @rerurkful 22 วันที่ผ่านมา

      @@olezhek28go знаешь что твои было бы интересно (если конечно нет этого видео) , прям для тупых, организация директорий проекта микро сервисов. Аля, есть у нас N сервисов, есть транспорт , каждый чет делает (логика) . И как этот всё по папкам раскидать, если всё в одном проекте. Ну или ссылку если есть бз. Спасибо

  • @rerurkful
    @rerurkful 22 วันที่ผ่านมา

    Здравствуйте Олег. Вот что было бы интересно (если конечно нет уже). Допустим есть один проект в котором N микросервисов (как бы распределенная система , но не совсем). Есть транспорт. есть логика ( db . файлы.... ) и вот как это все по папкам проекта раскидать ( c cmd понятно), ну прям для тупых . Или если можетбыть есть, то ссылочку. Прям больная тема для меня. Спасибо

    • @olezhek28go
      @olezhek28go  22 วันที่ผ่านมา

      Привет:) речь про монорепу, где сразу несколько микросервисов или как?)

    • @rerurkful
      @rerurkful 22 วันที่ผ่านมา

      @@olezhek28go я сеньерский не понимаю) да всё в одном проекте. Модуле если хотите

    • @rerurkful
      @rerurkful 22 วันที่ผ่านมา

      @@olezhek28go именно так. В одном модуле если хотите

  • @ШамильАхмадулин
    @ШамильАхмадулин 2 หลายเดือนก่อน

    а как же load balancer или уже не совсем монолит каноничный?

    • @olezhek28go
      @olezhek28go  2 หลายเดือนก่อน

      Это возможно, но порой монолиты бывают стейтфулл и тогда начинаются новые приключения)

  • @sb9185
    @sb9185 6 หลายเดือนก่อน

    Что такое микросервисы 02:11

  • @nrm3122
    @nrm3122 5 หลายเดือนก่อน +3

    Огромное спасибо за видос!
    После фразы "поесть ..." , лектор стал роднее, чтоли:
    - только человек, который понимает, о чем говорит может произнести такую фразу
    - сразу появляется ощущение, что ты не одинок в этом мире. Добавляет мотивацию

    • @olezhek28go
      @olezhek28go  5 หลายเดือนก่อน +1

      Спасибо за добрые слова:)

  • @zoree2684
    @zoree2684 4 หลายเดือนก่อน +2

    Если монолит "чистый" То по идеи его легче распилить, тк компоненты не так сильно связан

    • @olezhek28go
      @olezhek28go  4 หลายเดือนก่อน

      согласен)

  • @Бензини
    @Бензини 7 หลายเดือนก่อน

    а что массово пишут на Го кроме микросервисов? например Java для больших систем, больших e-comerce, например.

    • @olezhek28go
      @olezhek28go  7 หลายเดือนก่อน

      Тот же озон наполовину на го написан)

    • @Бензини
      @Бензини 7 หลายเดือนก่อน

      @@olezhek28go а почему?)
      И как го уживается с java / c# ?

    • @olezhek28go
      @olezhek28go  7 หลายเดือนก่อน

      Потому что го и придуман был для таких решений) А какая разница на чем соседние сервисы написаны, если общение по rpc

    • @Бензини
      @Бензини 7 หลายเดือนก่อน

      @@olezhek28go ну то есть Java /c# останутся, просто подвинуться, а микросервисы на го? Так я понимаю

    • @olezhek28go
      @olezhek28go  7 หลายเดือนก่อน +1

      Микросервисы это вид архитектуры, и писать их можно на чем угодно) а шарпы с джавой конечно остануться

  • @poezdun
    @poezdun 6 หลายเดือนก่อน +3

    Котик зачотный )

    • @olezhek28go
      @olezhek28go  6 หลายเดือนก่อน +1

      спасибо)))

  • @ЛевацкиеЗаметки
    @ЛевацкиеЗаметки 5 หลายเดือนก่อน

    Олег, где макет?)

    • @olezhek28go
      @olezhek28go  5 หลายเดือนก่อน

      Какой макет?

    • @ЛевацкиеЗаметки
      @ЛевацкиеЗаметки 5 หลายเดือนก่อน

      @@olezhek28go PSD!

    • @olezhek28go
      @olezhek28go  5 หลายเดือนก่อน

      Эту облогу вроде в фигме делали

    • @ЛевацкиеЗаметки
      @ЛевацкиеЗаметки 5 หลายเดือนก่อน

      @@olezhek28go это мем, дизайнерский

    • @olezhek28go
      @olezhek28go  5 หลายเดือนก่อน

      ааа, ну я в мемах конечно плаваю)

  • @MrQsam
    @MrQsam 7 หลายเดือนก่อน +2

    за котов - лайк)))

    • @olezhek28go
      @olezhek28go  7 หลายเดือนก่อน +1

      Кот нежится в радости от таких слов:)

    • @alexanderkozlikhin
      @alexanderkozlikhin 6 หลายเดือนก่อน +1

      @@olezhek28go Кот, небось, всегда первый в доме мячик по полу покатать.

  • @pavelerokhin1512
    @pavelerokhin1512 6 หลายเดือนก่อน +1

    Спасибо!

    • @olezhek28go
      @olezhek28go  6 หลายเดือนก่อน

      пожалуйста)

  • @vsev010d
    @vsev010d 7 หลายเดือนก่อน +1

    А что стало с scipie?

    • @olezhek28go
      @olezhek28go  7 หลายเดือนก่อน +1

      Я перестал снимать туда ролики)

    • @vsev010d
      @vsev010d 7 หลายเดือนก่อน

      @@olezhek28go очень жаль

    • @TheFryOS
      @TheFryOS 3 หลายเดือนก่อน

      ​@@olezhek28goкапитализм победил? да? что ж Олежа сдал назад

  • @Setalos
    @Setalos 7 หลายเดือนก่อน +1

    Обещал курс на степике прикрепить и не прикрепил (

    • @olezhek28go
      @olezhek28go  7 หลายเดือนก่อน

      Забыл:(
      Держите stepik.org/course/54403

    • @Setalos
      @Setalos 7 หลายเดือนก่อน

      @@olezhek28go Спасибо)

    • @luckytima2315
      @luckytima2315 5 หลายเดือนก่อน

      @@olezhek28go братик курс отстой

    • @olezhek28go
      @olezhek28go  5 หลายเดือนก่อน

      @@luckytima2315 да вроде курс как курс, чисто руку на задачах набить

  • @aqr91
    @aqr91 7 หลายเดือนก่อน

    16:40
    А в чем собственно проблема моков? Ради приличия, можно запросить какие нибудь реальные данные, как ты говорил, стабнуть коннект и потихоньку искать баг под музыку из ну погоди, когда волк косил сено)

    • @olezhek28go
      @olezhek28go  7 หลายเดือนก่อน +1

      Да не, проблемы нет) иногда и так можно, а иногда не сразу ясно где баг в нескольких сервисов и надо бы из все поднять, чтоб поискать)

    • @aqr91
      @aqr91 7 หลายเดือนก่อน

      @@olezhek28go тут с тобой полностью согласен))

  • @Бензини
    @Бензини 7 หลายเดือนก่อน

    и пока не понял, сможет ли Го сильно подвинуть Java и C# в создании веб-сайтов

    • @olezhek28go
      @olezhek28go  7 หลายเดือนก่อน +1

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

    • @hakooplayplay3212
      @hakooplayplay3212 6 หลายเดือนก่อน +1

      вебсайты на wordpress делают :) а на go - высоконагруженные сервисы, которые актуальны для больших продуктовых компаний, либо утилиты вроде докера и многих других