Сайт курса по микросервисам готов - ПЕРЕЙТИ
Последнее время я не раз уже говорил о своём грядущем курсе по микросервисам и меня начали регулярно спрашивать детали.
А что будет в программе?
А когда старт?
А сколько стоит?
Я шёл к этому пару месяцев и не один и вот всё готово! Теперь ответы на эти и другие вопросы можно будет узнать на лендинге курса. Получился он красивый и информативный) А если ещё какие-то вопросики остануться, то пишите мне в личку @olezhek28
И конечно вы уже можете приобрести этот курс. Там всё по-классике будет, чем ближе к старту, тем дороже. Так что хотел запривайте скорее и пойдем фигачить код.
А если сайт вам понравился, то накиньте огонёк для Андрея (@a_dmitrievich02), он старался!)
Последнее время я не раз уже говорил о своём грядущем курсе по микросервисам и меня начали регулярно спрашивать детали.
А что будет в программе?
А когда старт?
А сколько стоит?
Я шёл к этому пару месяцев и не один и вот всё готово! Теперь ответы на эти и другие вопросы можно будет узнать на лендинге курса. Получился он красивый и информативный) А если ещё какие-то вопросики остануться, то пишите мне в личку @olezhek28
И конечно вы уже можете приобрести этот курс. Там всё по-классике будет, чем ближе к старту, тем дороже. Так что хотел запривайте скорее и пойдем фигачить код.
А если сайт вам понравился, то накиньте огонёк для Андрея (@a_dmitrievich02), он старался!)
🔥19👍5
Сегодня расскажу о том, что делать после того, как решили горизонтально масштабироваться и назапускали кучу копий своей приложухи.
Для того, чтобы трафик, который идёт к вам как-то ложился на эти копии, его кто-то должен распределять и занимается этим балансировщик нагрузки. Это как дирижеры в оркестре запросов к вашему приложению.
Что это такое?
Балансировщик нагрузки - это устройство или программка, котороя распределяет сетевой по разным серверам. Это помогает избежать перегрузки на отдельных серверах, обеспечивая более эффективную работу всей системы.
Зачем это нужно?
Представьте, что у вас есть один сервер, который обрабатывает все запросы. Если запросов слишком много, сервер может прилечь. Балансировщики нагрузки приходят на помощь, равномерно распределяя нагрузку, чтобы ни один сервер не чувствовал себя обделенным.
Как это работает?
Балансировщики могут работать по-разному: они могут распределять запросы случайным образом, смотреть, какой сервер менее загружен, или даже учитывать специфику запросов. Классикой конечно является банальный перебор. Первый запрос идёт на первый сервак, второй на второй и так далее по кругу.
Почему это важно?
Без балансировщиков нагрузки современные высоконагруженные приложения просто не справятся. Это ключ к обеспечению стабильности и доступности ваших сервисов, особенно когда дело доходит до большого количества пользователей.
Есть конечно нюанс, связанный с тем, что балансер выглядит как бутылочное горлышко всей системы и единой точкой отказа.
Напишите варианты, как эту проблему можно полечить и обезопаситься?
Upd. О кайф, клоуны и сюда добрались!)
Для того, чтобы трафик, который идёт к вам как-то ложился на эти копии, его кто-то должен распределять и занимается этим балансировщик нагрузки. Это как дирижеры в оркестре запросов к вашему приложению.
Что это такое?
Балансировщик нагрузки - это устройство или программка, котороя распределяет сетевой по разным серверам. Это помогает избежать перегрузки на отдельных серверах, обеспечивая более эффективную работу всей системы.
Зачем это нужно?
Представьте, что у вас есть один сервер, который обрабатывает все запросы. Если запросов слишком много, сервер может прилечь. Балансировщики нагрузки приходят на помощь, равномерно распределяя нагрузку, чтобы ни один сервер не чувствовал себя обделенным.
Как это работает?
Балансировщики могут работать по-разному: они могут распределять запросы случайным образом, смотреть, какой сервер менее загружен, или даже учитывать специфику запросов. Классикой конечно является банальный перебор. Первый запрос идёт на первый сервак, второй на второй и так далее по кругу.
Почему это важно?
Без балансировщиков нагрузки современные высоконагруженные приложения просто не справятся. Это ключ к обеспечению стабильности и доступности ваших сервисов, особенно когда дело доходит до большого количества пользователей.
Есть конечно нюанс, связанный с тем, что балансер выглядит как бутылочное горлышко всей системы и единой точкой отказа.
Напишите варианты, как эту проблему можно полечить и обезопаситься?
Upd. О кайф, клоуны и сюда добрались!)
🔥17🤡4👍2
Forwarded from 📍Олег Козырев - IT и жизнь ️
Фронтендеры Запретили Мне gRPC! Как gRPC Gateway Спас Моё Golang Приложение
Пару лет назад я познакомился с прекрасным протоколом gRPC. Я подумал, что жизнь наконец-то достигла идеала, но фронтендеры меня расстроили. Они сказали, что это добро в браузере работать не будет и я должен выбросить свой gRPC на свалку и вернуться к http. Однако, после недолгих поисков, я обнаружил gRPC Gateway, который решил мои проблемы. Он позволил начать вместе использовать http и gRPC. В этом ролике я расскажу как всё это закодить в golang приложении, а также опишу плюсы и минусы этого решения.
СМОТРЕТЬ ВИДЕО
Пару лет назад я познакомился с прекрасным протоколом gRPC. Я подумал, что жизнь наконец-то достигла идеала, но фронтендеры меня расстроили. Они сказали, что это добро в браузере работать не будет и я должен выбросить свой gRPC на свалку и вернуться к http. Однако, после недолгих поисков, я обнаружил gRPC Gateway, который решил мои проблемы. Он позволил начать вместе использовать http и gRPC. В этом ролике я расскажу как всё это закодить в golang приложении, а также опишу плюсы и минусы этого решения.
СМОТРЕТЬ ВИДЕО
🔥16👍7🤔1
Открытый урок: Микросервисная архитектура, как в BigTech
3 февряля 2024 (18:00 МСК)
В субботу проведу открытый урок, где расскажу про микросервисную архитектуру. Сравню с монолитной и выделю плюсы и минусы такого решения. И разумеется будет много моего кота😂
Ссылочку на урок скину в этот канал, так что если вы подписаны на него, то ничего не упустите.
А если интересно узнать подробности, то залетайте на ЛЕНДИНГ УРОКА
Там сможете найти:
* записи прошедших уроков
* отзывы на эти уроки
* поинты, которые мы разберём во время грядущего урока
3 февряля 2024 (18:00 МСК)
В субботу проведу открытый урок, где расскажу про микросервисную архитектуру. Сравню с монолитной и выделю плюсы и минусы такого решения. И разумеется будет много моего кота😂
Ссылочку на урок скину в этот канал, так что если вы подписаны на него, то ничего не упустите.
А если интересно узнать подробности, то залетайте на ЛЕНДИНГ УРОКА
Там сможете найти:
* записи прошедших уроков
* отзывы на эти уроки
* поинты, которые мы разберём во время грядущего урока
🔥20👍3❤1
Я уже рассказывал о балансировщиках нагрузки и зачем они нужны, но вот вопрос: «а какие алгоритмы балансировки они юзают?».
Есть несколько способов разгребание трафика. У каждого есть свои особенности и кейсы применения. Сейчас расскажу о них.
1. Раунд-робин (Round Robin): Это как игра в "горячую картошку", только вместо картошки - запросы пользователей. Балансировщик по очереди передает запросы каждому серверу в группе. Чисто в тупую первый запрос к первому, второй ко второму и так по кругу.
2. Наименее соединений (Least Connections): Тут балансировщик нагрузки выбирает сервер, у которого меньше всего активных соединений и засылает на него трафик. Но тут может быть проблема в том, что соединения не равнозначные. Где-то 100 легких и серваку пофиг, а где-то и одно загрузит до сотки.
3. Источник IP (IP Hash): Каждый IP-адрес пользователя преобразуется в уникальный хэш, определяющий, к какому серверу будет направлен запрос. За счет этого мы можем мутить липкие сессии. То есть конкретный клиент привязан к конкретному серваку, пока адрес не сменил. Это может быть удобно, если есть какие-то локальные кэши, например.
4. Взвешенный (Weighted): Разные серверы могут обрабатывать разное количество запросов в зависимости от их мощности. Например, у одного 10 гигов оперативы, а у второго 40 гигов. Стало быть и трафик будет распределяться 1 к 4, то есть первому 20%, а второму 80%.
Как видите, алгосы бывают разные и нужно понимать когда какой стоит юзать. Как в старом анекдоте про архитектора «всё зависит от контекста».
P.S. У меня с английским не очень, поэтому когда я первый раз увидал название раунд робин я подумал, что его какой-то Робин придумал 😂
А вы так не кринжевали и сразу знали, что Робин это Бетмен на минималках, а не автор алгоритма?)
Есть несколько способов разгребание трафика. У каждого есть свои особенности и кейсы применения. Сейчас расскажу о них.
1. Раунд-робин (Round Robin): Это как игра в "горячую картошку", только вместо картошки - запросы пользователей. Балансировщик по очереди передает запросы каждому серверу в группе. Чисто в тупую первый запрос к первому, второй ко второму и так по кругу.
2. Наименее соединений (Least Connections): Тут балансировщик нагрузки выбирает сервер, у которого меньше всего активных соединений и засылает на него трафик. Но тут может быть проблема в том, что соединения не равнозначные. Где-то 100 легких и серваку пофиг, а где-то и одно загрузит до сотки.
3. Источник IP (IP Hash): Каждый IP-адрес пользователя преобразуется в уникальный хэш, определяющий, к какому серверу будет направлен запрос. За счет этого мы можем мутить липкие сессии. То есть конкретный клиент привязан к конкретному серваку, пока адрес не сменил. Это может быть удобно, если есть какие-то локальные кэши, например.
4. Взвешенный (Weighted): Разные серверы могут обрабатывать разное количество запросов в зависимости от их мощности. Например, у одного 10 гигов оперативы, а у второго 40 гигов. Стало быть и трафик будет распределяться 1 к 4, то есть первому 20%, а второму 80%.
Как видите, алгосы бывают разные и нужно понимать когда какой стоит юзать. Как в старом анекдоте про архитектора «всё зависит от контекста».
P.S. У меня с английским не очень, поэтому когда я первый раз увидал название раунд робин я подумал, что его какой-то Робин придумал 😂
А вы так не кринжевали и сразу знали, что Робин это Бетмен на минималках, а не автор алгоритма?)
👍16🔥5😁2
Есть у меня подружая из Озона. Её зовут Маша и она работает в самом высоконагруженном сервисе маркетплейса. Там от RPS волосы дыбом, а она кэшами всё обкладывает🔥
https://youtu.be/5fTgseLQ0Rc?si=VlL1xR9IgD9fAIWU
В прошлом года, она написала отличную статью о своём трехлетнем опыте жизни с хайлоадом. Статья и лайков набрала порядочно и приз от компании она выиграла. Статью рекомендую, очень интересная.
Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS
Но это было в том году, а в этом Маша уже успела залететь на ютуб-канал Озона и рассказать немножко о себе и о своём жизненом пути. А путь то у неё очень интересный. Она и в шахте поработать успела и на заводе и теперь вот в айтишке. Видос весёлый, гляньте.
https://youtu.be/5fTgseLQ0Rc?si=VlL1xR9IgD9fAIWU
В прошлом года, она написала отличную статью о своём трехлетнем опыте жизни с хайлоадом. Статья и лайков набрала порядочно и приз от компании она выиграла. Статью рекомендую, очень интересная.
Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS
Но это было в том году, а в этом Маша уже успела залететь на ютуб-канал Озона и рассказать немножко о себе и о своём жизненом пути. А путь то у неё очень интересный. Она и в шахте поработать успела и на заводе и теперь вот в айтишке. Видос весёлый, гляньте.
YouTube
People Tech Ask — Мария Ремнёва, старший разработчик
У нас в гостях — Мария Ремнёва, senior go-разработчик. В этом интервью — о том, зачем группа разработки Product Facade нужна маркетплейсу, в чём секрет безграничной страсти к своей работе и как не бояться изменить свою жизнь и уйти из горной инженерии — в…
🔥21👍7🤡1🥱1
Уже сегодня в 18:00(МСК) проведу открытый урок по теме "Микросервисная архитектура, как в BigTech".
Открытый урок пройдёт тут: https://youtube.com/live/TbveBv880PM
А если интересно узнать подробности, то залетайте на ЛЕНДИНГ УРОКА Там сможете найти поинты, которые мы разберём сегодня и отзывы на предыдущие уроки. А пока ещё есть время глянуть парочку предыдущих уроков.
* gRPC в Golang: Практическое Введение в Основы
* Чистая архитектура проекта на Golang
Открытый урок пройдёт тут: https://youtube.com/live/TbveBv880PM
А если интересно узнать подробности, то залетайте на ЛЕНДИНГ УРОКА Там сможете найти поинты, которые мы разберём сегодня и отзывы на предыдущие уроки. А пока ещё есть время глянуть парочку предыдущих уроков.
* gRPC в Golang: Практическое Введение в Основы
* Чистая архитектура проекта на Golang
🔥20👍9❤🔥1
Как и обещал, держите список материалов на почитать:
• Ричардсон К. - Микросервисы. Паттерны разработки и рефакторинга
• Microservice Architecture (отличный сайт)
• Martin Fowler - Статьи о микросервисах
• Martin Fowler - How to break a Monolith into Microservices
• Хононов В. - Изучаем DDD – предметно-ориентированное проектирование
• Microservices Observability: How, when, and what to measure?
• Understanding Microservice Pipelines
• Pattern: API Gateway / Backends for Frontends
• API Gateway vs. Reverse Proxy
• Service Discovery in Microservices
• Одна платформа, чтобы править всеми (опыт Ozon Tech)
• Implementing the SAGA Pattern in Microservices
• SAGA vs 2PC: An Exhaustive Exploration of Distributed Transaction Protocols
• Difference between SAGA Pattern and 2 Phase Commit in Microservices?
• Eventual consistency consequences in the event-driven system
• What is a Service Mesh?
• Проект «Феникс». Роман о том, как DevOps меняет бизнес к лучшему (кайфовый бизнес-роман)
Телега кота - https://t.me/kot_kotkins
• Ричардсон К. - Микросервисы. Паттерны разработки и рефакторинга
• Microservice Architecture (отличный сайт)
• Martin Fowler - Статьи о микросервисах
• Martin Fowler - How to break a Monolith into Microservices
• Хононов В. - Изучаем DDD – предметно-ориентированное проектирование
• Microservices Observability: How, when, and what to measure?
• Understanding Microservice Pipelines
• Pattern: API Gateway / Backends for Frontends
• API Gateway vs. Reverse Proxy
• Service Discovery in Microservices
• Одна платформа, чтобы править всеми (опыт Ozon Tech)
• Implementing the SAGA Pattern in Microservices
• SAGA vs 2PC: An Exhaustive Exploration of Distributed Transaction Protocols
• Difference between SAGA Pattern and 2 Phase Commit in Microservices?
• Eventual consistency consequences in the event-driven system
• What is a Service Mesh?
• Проект «Феникс». Роман о том, как DevOps меняет бизнес к лучшему (кайфовый бизнес-роман)
Телега кота - https://t.me/kot_kotkins
Telegram
🐱 Жизнь Коткинса
Канал о жизни одного питерского кота по имени Коткинс
🔥22👍6❤2🤯1
Forwarded from 📍Олег Козырев - IT и жизнь ️
Если кто после открытого урока переживает успел ли я на поезд, сообщаю😂 Успел и мчусь к коту с выручкой от покупок курса😃 Очевидно все уйдет на корм коту:)
P.S. На самом деле это со спектакля реквизит остался)
Если кто ссылку на курс потерял, то он ТУТ
P.S. На самом деле это со спектакля реквизит остался)
Если кто ссылку на курс потерял, то он ТУТ
👍12🤣2
Микросервисная архитектура, как в BigTech (микросервисы vs монолит)
Как и договаривались, выкладываю запись открытого урока по микросервсной архитектуре.
Сайт курса по микросервисам - ПЕРЕЙТИ
Маркетинг маркетингом, но на тариф с проверкой реально всего одно место осталось. Я даже офигел, как так разобрали. Больше 20 человек не возьму, а то с ума сойду от ревью😁
В этом уроке ты:
- с нуля разберешься в монолитной и микросервисной архитектуре приложения;
- узнаешь, в чём разница между монолитом и микросервисами, их сильные и слабые стороны;
- поймешь, нужны ли в твоем проекте микросервисы и какие паттерны используют BigTech-компании.
P.S. Кот передает привет и благодарит за тёплые слова в его адрес❤️
СМОТРЕТЬ УРОК
Как и договаривались, выкладываю запись открытого урока по микросервсной архитектуре.
Сайт курса по микросервисам - ПЕРЕЙТИ
Маркетинг маркетингом, но на тариф с проверкой реально всего одно место осталось. Я даже офигел, как так разобрали. Больше 20 человек не возьму, а то с ума сойду от ревью😁
В этом уроке ты:
- с нуля разберешься в монолитной и микросервисной архитектуре приложения;
- узнаешь, в чём разница между монолитом и микросервисами, их сильные и слабые стороны;
- поймешь, нужны ли в твоем проекте микросервисы и какие паттерны используют BigTech-компании.
P.S. Кот передает привет и благодарит за тёплые слова в его адрес❤️
СМОТРЕТЬ УРОК
🔥19👍5
Всё! Места на тариф с проверкой кончились:) Теперь только если без проверки залетать)
🔥11😢1
Предлагаю завтра вечерком собраться и пообщаться в уютной атмосфере тут:)
Сможем обсудить микросервисы. Может кто-то посмотрел урок в записи и вопросы появились. Расскажу как на курсе дела и на вопросы поотвечаю про него. Ну и как обычно просто за жизнь тоже поболтаем:)
Трансляция будет завтра, 5 февраля в 18:30мск, в канале «уютный микросервис»
Сможем обсудить микросервисы. Может кто-то посмотрел урок в записи и вопросы появились. Расскажу как на курсе дела и на вопросы поотвечаю про него. Ну и как обычно просто за жизнь тоже поболтаем:)
Трансляция будет завтра, 5 февраля в 18:30мск, в канале «уютный микросервис»
🔥15👍3
Я как настоящий сеньор катнул в прод и зафакапил😢
Вчера главное такой говорю вам места на тариф с проверкой кончились и я выключил кнопку на нём, а сегодня утром смотрю кто-то купил. Сперва понять не мог как так вышло, а потом как дошло.
Когда кто-то покупает курс в рассрочку, то банк может решение о неё принимать с задержкой, а в это время заказ как бы забронен. В итоге я гляну на фактические оплаты и не учёл, что есть ещё те, кто ожидает решение банка или типо того.
В целом конечно 1 человек это не страшно, я смогу всё как надо проверить, но там ещё висит 7 заказов в статусе ожидания. И вот если они ещё апрувнуться, то всё пойдёт совсем не по плану. Я лимиты то эти не случайно поставил, а ориентируясь на свои возможности по ревью, чтоб качество не просело.
Каков вывод: тестить надо лучше всю систему:) Разумеется это всё пофиксим, а пока надо помониторить и понять масштаб проблемы. Думаю как вариант предложить тем, кто сейчас допом залетит или деньги вернуть или автоматом на следующий поток залететь. А то прикиньте народ приходит, чтоб их проверяли, а я уже в припадке бьюсь от количества ревью)
По шкале от 1 до 10 насколько я факапнул, как думаете?
Вчера главное такой говорю вам места на тариф с проверкой кончились и я выключил кнопку на нём, а сегодня утром смотрю кто-то купил. Сперва понять не мог как так вышло, а потом как дошло.
Когда кто-то покупает курс в рассрочку, то банк может решение о неё принимать с задержкой, а в это время заказ как бы забронен. В итоге я гляну на фактические оплаты и не учёл, что есть ещё те, кто ожидает решение банка или типо того.
В целом конечно 1 человек это не страшно, я смогу всё как надо проверить, но там ещё висит 7 заказов в статусе ожидания. И вот если они ещё апрувнуться, то всё пойдёт совсем не по плану. Я лимиты то эти не случайно поставил, а ориентируясь на свои возможности по ревью, чтоб качество не просело.
Каков вывод: тестить надо лучше всю систему:) Разумеется это всё пофиксим, а пока надо помониторить и понять масштаб проблемы. Думаю как вариант предложить тем, кто сейчас допом залетит или деньги вернуть или автоматом на следующий поток залететь. А то прикиньте народ приходит, чтоб их проверяли, а я уже в припадке бьюсь от количества ревью)
По шкале от 1 до 10 насколько я факапнул, как думаете?
🤣18🕊8🫡3❤2👍2