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

  Рет қаралды 102,095

Maksim Zhashkevych

Maksim Zhashkevych

3 жыл бұрын

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

Пікірлер: 113
@SergeiCherkai
@SergeiCherkai Жыл бұрын
"микросервис это маленький монолит" - ты просто красава, от души !!!
@liliyasiadzelnikava96
@liliyasiadzelnikava96 2 жыл бұрын
блин, очень круто рассказал! спасибо большое и продолжай в том же духе!
@den_is_kuts8139
@den_is_kuts8139 9 ай бұрын
Именно после таких видосов некоторые люди такие: сейчас мы перейдем на микросервисы, и решим наши проблемы 💪🏻 На самом деле нужно понимать что микросервисы нужны не там как сказал автор если разработка вашего приложения больше месяца, или у вас более N строк кода, и нужно понимать что если ваша команда не может написать хорошо монолит, скорее всего она не осилит микросервисы Чтобы снизить сложность в разработке монолита при его масштабировании, необходимо делать его модульным, DDD и возможно чистая архитектура вам в помощь Если вам не нужно поддерживать приложение на разных инстансах, нет в этом необходимости, то микросервисами вы только усложните разработку включая инфраструктуру
@lemanaskerova7514
@lemanaskerova7514 Жыл бұрын
Максим, благодарю вас. Очень круто все обьяснили.
@jakhongirrzimatov5888
@jakhongirrzimatov5888 4 ай бұрын
Супер! очень нагладно и максимально простым языком!
@user-ur1ee5qx5x
@user-ur1ee5qx5x Жыл бұрын
Отличное видео Очень четко и понятно пояснил эту тему с примерами, респект
@MayorKozin
@MayorKozin Жыл бұрын
Отличная подача, спасибо!
@tatiana_shef
@tatiana_shef 10 ай бұрын
Отличное видео. Спасибо ❤
@VkusnyashkaMMM
@VkusnyashkaMMM Жыл бұрын
Круто ! Спасибо, видео классное!
@inga153
@inga153 5 ай бұрын
Супер! очень нагладно и максимально простым языком! очень ценю как ИТ аналитик. спасибо большое
@Devivl
@Devivl Жыл бұрын
Спасибо за видео, Максим.
@lookingforthetruth5903
@lookingforthetruth5903 2 жыл бұрын
Спасибо, отличное видео!
@itcloudguy
@itcloudguy Жыл бұрын
Отличная презентация, отличная подача и речь, отличная графика и пояснение! Спасибо большое за работу!
@user-xg9wt3he9q
@user-xg9wt3he9q 3 жыл бұрын
Полезное видео, спасибо
@dimachen86
@dimachen86 3 жыл бұрын
Максим, было бы классно подробнее про партиции баз данных. Темный лес для меня ) Спасибо за видео.
@kotikvacia9970
@kotikvacia9970 3 жыл бұрын
Хорошая мысль ! Однозначно в топ !)
@vladislavrodin8036
@vladislavrodin8036 3 жыл бұрын
Одна из глав в книге "С кабанчиком" больше информации даст
@user-oc3bw2ec7h
@user-oc3bw2ec7h Жыл бұрын
Партиции вроде бы в топике Кафка?! или я что-то прослушал ?
@dgdarkking266
@dgdarkking266 Жыл бұрын
@@user-oc3bw2ec7h Здесь речь идёт о такой практике проектирования микросервисов как "На каждый микросервис по БД" (далее именную это как микросервисная БД) Есть также практика, которая противоречит микросервисной архитектуре - "Одна БД на всё приложение" (далее называю это монолитной БД) БД и прога могут всегда быть выполнены в разных связках К примеру миркосервисное прилоложение и микросервисная БД миркосервисное прилоложение и монолитная БД Монолит приложение и монолит БД Монолит приложение и микросервисная БД Смысл микросервисной БД такой же как микросервисного приложения - отделение одного от другого и удобство маштабирования, использование для каждого сервиса своей более подходящей СУБД Сложность такого подхода заключается в правилах ACID - решение недавно глядел и обычно чаще всего используют его и его модификации - Проектирование Саг Как реализовывать саги ты выбираешь сам, но в любом случае раскидывая данные по разным БД ты отказываешься от некоторых аспектов - сам в этом в данный момент подробностей мало имею, лучше почитать, я как раз и занимаюсь сейчас изучением этого всего чуда
@hro688
@hro688 Жыл бұрын
@@dgdarkking266 интрересно, получаетсяЫ, у каждого микросервиса должен быть свой адаптер для БД?
@helly9401
@helly9401 10 ай бұрын
Оличное видео, спасибо! Все по полочкам, и в целом, доступным языком. Мне, как джуну-тестеру, много терминов ещё не знакомы, но всё равно тема микросервисов стала более понятна
@phpuser5920
@phpuser5920 2 жыл бұрын
Спасибо большое, удивительно, но очень понятно
@MaksimZhashkevych
@MaksimZhashkevych 2 жыл бұрын
Получи полный набор тем и список ресурсов для изучения Backend разработки www.zhashkevych.com/backend-roadmap?
@user-ry7ci3op9k
@user-ry7ci3op9k 2 жыл бұрын
Спасибо!)
@madiyarniyazkhanov4916
@madiyarniyazkhanov4916 Жыл бұрын
круто объяснил, спасибо
@ermakovva9955
@ermakovva9955 2 жыл бұрын
спасибо большое за видео, очень грамотная подача материала!!
@diceline1677
@diceline1677 7 ай бұрын
Ломал голову, чтобы кристально чисто понять зачем нужен докер, кубернетис, системы сборки, git. А оказывается есть короткий путь, нужно понять, что такое микросервисы, и это объясняет все. В принципе, логично, ведь современные инструменты соответствуют современной разработке, которая зависит от сложности программ, следующей из потребностей обычных людей и бизнеса. Благодарю, теперь всё собралось воедино.
@user-li5jh9gg9g
@user-li5jh9gg9g Ай бұрын
Автор просто не слышал о контейгнрах
@user-nu2jz1sb4s
@user-nu2jz1sb4s 17 күн бұрын
Ну без гита и с монолитом не очень удобно будет. Докер тоже не помешает. А вообще, прежде чем начать пилить микросервисы, надо 20 раз подумать
@Alikhan.Umarbekov
@Alikhan.Umarbekov 2 жыл бұрын
Максим, ОГРОМНОЕ спасибо тебе за твои видосы! Я столько полезного извлекаю
@CHROMEBLAZEstudio
@CHROMEBLAZEstudio 2 жыл бұрын
Отлично!
@__ali__97
@__ali__97 2 жыл бұрын
Привет Макс, офигенный ролик про микросервисы, подкину тебе идею для ролика, расскажи про udp протокол
@VadiemPetrov
@VadiemPetrov Жыл бұрын
Привет! Подписался смотрю, спасибо за труд
@obivanbeluii
@obivanbeluii 8 ай бұрын
спасибо, хорошее обьяснение
@oeaoo
@oeaoo Жыл бұрын
Видно что ты теоретик.
@asdfg66666
@asdfg66666 Жыл бұрын
классно объяснено
@vanmihaylovich
@vanmihaylovich Жыл бұрын
Подробнейший обзор!
@romanbaltramun8434
@romanbaltramun8434 Жыл бұрын
Спасибо!
@firdavs8879
@firdavs8879 3 жыл бұрын
Хайп не только среди разрабов, но и среди работодателей, почти в каждой вакансии есть хоть какое то упоминание либо требование микросервисов
@user-ol5zb2vr1n
@user-ol5zb2vr1n 3 ай бұрын
👍Спасибо
@alexandertsapkov491
@alexandertsapkov491 3 жыл бұрын
Отличная вводная лекция! Спасибо)
@islamgashimov379
@islamgashimov379 10 ай бұрын
Четко!!!
@mranolegprivate
@mranolegprivate Жыл бұрын
Привет. Очень хорошо рассказал про микросервисную архитектуру. Просмотрев 1 раз, в это время я еще играл в игру ) Я понял про все, что ты рассказал мне, и теперь я знаю и могу рассказать, что такое микросервисная архитектура и что она из себя представляет, а так же знаю, где лучше использовать монолит, а в каких случаях микросервисы
@generalnevermore706
@generalnevermore706 6 ай бұрын
Я ещё до конца не дошёл, а уже могу точно сказать, что этот видос рекомендую всем кто готовится пройти тех интервью 😂 P S Автор красава чётко получилось
@hello_world_zz
@hello_world_zz 2 жыл бұрын
thanks!
@user-zu8il2xw9d
@user-zu8il2xw9d 11 ай бұрын
молодец отлично про gateway
@victorl6900
@victorl6900 3 жыл бұрын
Максим, два вопроса - твой будущий курс будет на микросервисной архитектуре или на мононолите? В каком редакторe нарисованы схемы? Выглядит профессионально.
@user-py3nb3ur4m
@user-py3nb3ur4m 2 жыл бұрын
Крассавчик , полезная инфа
@thedeviljoy6374
@thedeviljoy6374 3 жыл бұрын
Ролик топ топыч!
@vonseven
@vonseven 5 ай бұрын
👍
@alukse9066
@alukse9066 3 жыл бұрын
Максим, подскажи, как ты искал вакансии на позициою junior go developer, по моему таких вакансих не то что мало - их нет, я долго работаю devops инженером и хочу немного перейти в go, но смотрю на вакансии - везде от 2х лет комерческой разработки.
@47clere
@47clere 2 жыл бұрын
Не пиши что джуниор) подавай резюме на мидл позицию, но пиши в резюме правду. Бывает что они собеседуют и тому, кто на позицию не проходит делают оффер на мидла. Поэтому на джуна почти нет вакансий: у HRa гора резюме всегда на джуна
@johnnysuedy
@johnnysuedy Жыл бұрын
Привет, нашёл работу, почему из девопса решил уйти? Я сам хочу из сетевик в девопс перейти
@johnnysuedy
@johnnysuedy Жыл бұрын
Сколько получал девопсом?
@alukse9066
@alukse9066 Жыл бұрын
@@johnnysuedy Не ушёл в go, писать на go мелкие проекты - приятно и интересно, но программирование за деньги не всегда приятно и интересно - это вывод исходя из того что я вижу у ребят в команде. Продолжаю заниматься devops/администрированием - почти перестал писать на go к сожалению
@donfedor007
@donfedor007 Жыл бұрын
Доброе время суток! Если в Django rest, несколько приложений со своими моделями и вьюшками они общаются через эндпоинты, всё это в одном Django проекте, это будет микросервисная архитектура или это монолит с приложениями в нём?
@user-un4jd3gh3g
@user-un4jd3gh3g Жыл бұрын
Если у них свои таблицы в бд да
@user-ur7bn1kd1p
@user-ur7bn1kd1p 4 ай бұрын
"Преимущество монолита: у нас всё находится в одном месте". Тут не поспоришь, главное сказать в каком и как оно называется 😂
@oleh6664
@oleh6664 2 жыл бұрын
Дуже якісне пояснення, дякую Максим!
@MaksimZhashkevych
@MaksimZhashkevych 2 жыл бұрын
🙌🏻
@freetimeproject7
@freetimeproject7 9 ай бұрын
А твой "большой проект" какие задержки будет иметь ганяя данные от одного микросервиса к другому вместо нормального обмена в монолите в рамках единого приложения?) или "пофиг на продуктивность, просто более мощное железо поставим если что"?)
@yan200go
@yan200go 2 жыл бұрын
У всех подходов один недостаток - деплоймент)
@timshevchuk4198
@timshevchuk4198 Жыл бұрын
Интересно. Комменты исключительно положительные. Имхо нужно разобраться с камерой т.к. сой автофокуса подбешивает и уменьшить материал, т.к. долго.
@user-er2hi9vl8n
@user-er2hi9vl8n Жыл бұрын
Получается, ендпоинты в API, это путь к отдельному сервису, в монолите их не бывает?
@akss9245
@akss9245 3 жыл бұрын
Максим, расскажи, пожалуйста, про собеседования) Что обычно спрашивают у джунов/миддлов/сеньоров гошников?
@MaksimZhashkevych
@MaksimZhashkevych 3 жыл бұрын
На следующей неделе как раз будет видео на канале про собесы для го разработчиков)
@akss9245
@akss9245 3 жыл бұрын
@@MaksimZhashkevych лучший, спасибо!
@user-sv1ze9gk3b
@user-sv1ze9gk3b Жыл бұрын
cool
@maksimepikhin
@maksimepikhin Жыл бұрын
Максим, хороший контент, спасибо за разъяснения. "да, то есть, по сути" - чуть кровь из ушей не пошла. Профильтруй речь, пожалуйста :)
@zengine2743
@zengine2743 2 ай бұрын
монолит - это в сталкере
@vladzh2639
@vladzh2639 Жыл бұрын
Приветствую. А чем отличается msa от soa?
@hro688
@hro688 Жыл бұрын
Привет, на ютубе видел отдельное видео на эту тему
@davidapk323
@davidapk323 3 жыл бұрын
крутая инфографика, что за редактор? я про черно-зеленые схемы
@hro688
@hro688 Жыл бұрын
Привет, картинки похожи на те, что есть в книге Криса Ричардсона (но могу ошибаться). М.б их просто из презентации или чего-то подобного взяли
@grimax4966
@grimax4966 Жыл бұрын
Лайк только за последнюю фразу "не усложняйте" а так конечно вода и трата времени(
@UAStriker
@UAStriker 3 жыл бұрын
Слышал еще одно одно неофициальное правило микросервисов, что они должни состоять не более чем из 10000 строк кода не считая кода библиотек.
@kafkareader3212
@kafkareader3212 2 жыл бұрын
Архитектурный паттерн говорит о логике разбиения, привязываться к количеству строчек - глупо.
@andriygaidar4913
@andriygaidar4913 3 жыл бұрын
Крутий матеріал, а буде приклад простого додатку з мікросервісів.
@aliexpress5284
@aliexpress5284 Жыл бұрын
Не стоило про монолиты рассказывать, если нет опыта
@millkiway3682
@millkiway3682 8 ай бұрын
Хайпануть нужно вовремя
@4sARy
@4sARy 2 жыл бұрын
Очень хороший формат, только хотелось бы, чтобы когда ты объяснял, картинка в презентации становилась миниатюрой, а изображение с тобой становилось полноэкранным)
@zluy_mark
@zluy_mark Жыл бұрын
Дякую
@ayyayaay9399
@ayyayaay9399 Жыл бұрын
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 Жыл бұрын
Мне кажется, это уже далеко зашло. Микросервисы оповещают микросервисы. Апи для апи. Господа, это клиника. Тут нужен хороший психиатр и длительный курс лечения. Какие паттерны микросервисов? Все паттерны описаны в ГОФ. Извините, я ошибся - не все паттерны, ведь есть ещё паттерны, о которых можно почитать в Википедии - их около 100 и их становиться всё больше. А есть и антипаттерны. Появляется новый программист и изобретает свой паттерн, свой велосипед, чтобы другие программисты не писали свои велосипеды, а использовали его велосипед. Круто. Или изобретает акроним - это такое красивое слово, под которое подводиться теоретическая база. А если во всем этом начать разбираться, паттерны, принципы, применение, критика, сильные и слабые стороны - то там просто всё противоречит всему. По теме ролика - никаких преимуществ микросервисов не вижу. Микросервис - это просто разделенный монолит и цель разделения, чтобы никто физически не залез туда, куда не надо. Вот этот кусок этой команде, этот той. И общайтесь через апи. Никакой простоты разработки и понимания. Больше команд, сервисов, сущностей, ответственности, планирования, согласования. Время запуска не ниже - развернуть 100+ микросервисов и согласовать их работу. ... Нет увеличенной работоспособности при частичном отказе системе, если откажет основная часть. Микросервисы это - мы пишем что то большое и через пару лет не будем понимать как оно работает. Поэтому мы инкапсулируем часть функционала в микросервис-черный ящик с интерфейсом и будем дергать его по апи. Как оно там работает мы уже не знаем - люди уволились. Поэтому мы ничего не будем трогать (изменять, привет open closed solidу), а будем расширять функционал путем создания новых модулей (аля наследование) общающихся с этим непонятным, но работающим ящиком, по апи (через его интерфейс).
@stoparb357
@stoparb357 Жыл бұрын
ты какой-то олух или неопытный, он в видео явно говорит - попробуй в монолите выдели мощность на одном сервере для одного модуля кода, а если упрешься в лимиты хостера? поэтому выделяются отдельные сервера для гибкости под каждую задачу и общаются они между собой через запросы. а деплоятся все микросервисы аж через docker-compose, чуть ли не с одним файлом, вот же ж ужасно и сложно это все делается. а еще можно запустить отдельно от всего приложения микросервис, протестировать и задеплоить отредактированные другие микросервисы по очереди и поэтому приложение не упадет на несколько часов в нерабочий отпуск - вы там как-то ждите сидите работнички и клиенты. а еще можно закрыть дыру в скорости какого-то модуля и написать его на c++, когда все остальное на python для быстрой разработки, но с медленным исполнением. попробуешь это реализовать без микросервисов, умнейший? не, ну объективно тебе не светит стартап на уровне амазона, поэтому и не парься со своим wordpress
@millkiway3682
@millkiway3682 8 ай бұрын
Очередной раз подтверждается фраза "видишь программиста работающего на маке значит он джуниор"
@grgvgrgv
@grgvgrgv 2 жыл бұрын
Макс, видЕо надо сокращать в разы. Очень много лирики, повторений, ненужных перечислений. Бери пример с Алексея Земскова.
@MaksimZhashkevych
@MaksimZhashkevych 2 жыл бұрын
видео*
@grgvgrgv
@grgvgrgv 2 жыл бұрын
@@MaksimZhashkevych, понятно же, что это была дурацкая опечатка...
@millkiway3682
@millkiway3682 8 ай бұрын
У него мак. Что вы пристали к подростку. Ему просто нужно показать что у него мак.
@liliyasiadzelnikava96
@liliyasiadzelnikava96 2 жыл бұрын
можешь чуток убрать громкость своего голоса и повысить музыку на заднем фоне :)
@millkiway3682
@millkiway3682 8 ай бұрын
Я за ))
@delifeful
@delifeful Жыл бұрын
"высокая сложность при росте приложения" и "Сложно применить новую технологию" Если вы не можете этого сделать с монолитом, то у вас будут все теже проблемы и на микросервисах.
@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 Жыл бұрын
не бизнес-логика, а просто ЛОГИКА. Не хексагон, а гексагон. И вообще, слишком много воды. Все пересмотрел на перемотке.
@Mak5eem
@Mak5eem 20 күн бұрын
Зачем так мучал себя?
@shanewalsch
@shanewalsch 14 күн бұрын
Это принято называть бизнес логикой
@user-iz6mc9ri2d
@user-iz6mc9ri2d 14 күн бұрын
@@shanewalsch а чего не криминал-логикой? Поменяем традиции.
@dimasamsonau3646
@dimasamsonau3646 2 жыл бұрын
одна теория. бла бла... покажи код!
@macintosh156
@macintosh156 5 ай бұрын
Спасибо, отличное видео!
小女孩把路人当成离世的妈妈,太感人了.#short #angel #clown
00:53
Which one of them is cooler?😎 @potapova_blog
00:45
Filaretiki
Рет қаралды 10 МЛН
JWT авторизация. Основы JWT - механизма.
6:45
Хочу вАйти
Рет қаралды 3,2 М.
Что такое gRPC и Protobuf?
8:37
Merion Academy
Рет қаралды 41 М.
Про микросервисы за 8 минут
8:01
Merion Academy
Рет қаралды 120 М.
小女孩把路人当成离世的妈妈,太感人了.#short #angel #clown
00:53