Что почитать по gRPC?
Меня тут порой спрашивают про gRPC, мол чего такого интересно про него можно почитать. Сейчас накину вам немного материальчика по теме. Что-то будет базой, что-то материалом поглубже)
Такой ответ мне как-то дал знакомый из платформенной команды Озона))) В целом база, но иногда хочется человеческого чтива ахаха
1) Из того, что на русском на ум приходит книга с уткой. В ней дана база, которая в водит в мир межпроцессного взаимодействия. Из прикольного там рассказывается как именно protobuf сериализует данные.
2) Есть книженция на английском, которая ещё и тему тестирования и деплоя покрывает. В целом даже те, кто в английском не силен поймут половину и так, а вторую переведут в браузере.
3) Ясно дела самая база у меня в видосе есть. Я там на примере гошки показываю шаг за шагом, как намутить простецкий gRPC сервачек и клиент к нему. Ссылка на репу в описании есть.
4) А если кому-то хочется материальчик поглубже, то в игру вступает мой знакомый из Озона. Доклад о плагинах в protobuf. Свят рассказал, как начать мутить свои плагины и нафига это нужно. Доклад самое оно, чтоб преисполниться кодогенерацией.
5) И ещё один доклад от кайфового паренька из Озон. На сей раз Свят рассказал о том, как устроена кодогенерация в Озоне. Мы ж с вами, кто юзал gRPC, привыкли ко всяким protoc или buf, а в Озоне свою тулзу напилили. Свят рассказал зачем они это сделали и как.
Меня тут порой спрашивают про gRPC, мол чего такого интересно про него можно почитать. Сейчас накину вам немного материальчика по теме. Что-то будет базой, что-то материалом поглубже)
Читай исходники
Такой ответ мне как-то дал знакомый из платформенной команды Озона))) В целом база, но иногда хочется человеческого чтива ахаха
1) Из того, что на русском на ум приходит книга с уткой. В ней дана база, которая в водит в мир межпроцессного взаимодействия. Из прикольного там рассказывается как именно protobuf сериализует данные.
2) Есть книженция на английском, которая ещё и тему тестирования и деплоя покрывает. В целом даже те, кто в английском не силен поймут половину и так, а вторую переведут в браузере.
3) Ясно дела самая база у меня в видосе есть. Я там на примере гошки показываю шаг за шагом, как намутить простецкий gRPC сервачек и клиент к нему. Ссылка на репу в описании есть.
4) А если кому-то хочется материальчик поглубже, то в игру вступает мой знакомый из Озона. Доклад о плагинах в protobuf. Свят рассказал, как начать мутить свои плагины и нафига это нужно. Доклад самое оно, чтоб преисполниться кодогенерацией.
5) И ещё один доклад от кайфового паренька из Озон. На сей раз Свят рассказал о том, как устроена кодогенерация в Озоне. Мы ж с вами, кто юзал gRPC, привыкли ко всяким protoc или buf, а в Озоне свою тулзу напилили. Свят рассказал зачем они это сделали и как.
🔥10👍6👨💻2
Вчера на стриме просили поделится статистикой прошедшего потока. Делюсь)
Отдельно обращу внимение на один момент, который сам не так давно осознал) Раньше почему-то казалось, что те, кто не дошел до конца ничего полезного с курса и не получили. Но по факту то это не так, половину курса прошел, половину пользы получил и кому-то это норм) И сразу после этого осознания как-то легче на душе стало ахахах
Там, например, есть чувак, который чуть больше половины домашек сдал, а сам уже гляжу в Авито залетел) Ну а так, кажется картина доходимости плюс минус по рынку) 20% дошли до конца
И тут должен быть пафосный вывод "А в какой группе окажешься ты? Тех, кто дошел или тех, кто сдался?"😂😂😂 Кринж конечно, когда такое на серьезных щах пишут)
Отдельно обращу внимение на один момент, который сам не так давно осознал) Раньше почему-то казалось, что те, кто не дошел до конца ничего полезного с курса и не получили. Но по факту то это не так, половину курса прошел, половину пользы получил и кому-то это норм) И сразу после этого осознания как-то легче на душе стало ахахах
Там, например, есть чувак, который чуть больше половины домашек сдал, а сам уже гляжу в Авито залетел) Ну а так, кажется картина доходимости плюс минус по рынку) 20% дошли до конца
И тут должен быть пафосный вывод "А в какой группе окажешься ты? Тех, кто дошел или тех, кто сдался?"😂😂😂 Кринж конечно, когда такое на серьезных щах пишут)
🏆7👍4🎉1
Паттерны проектирования микросервисов: Как построить устойчивую систему
Здарова, бандиты! 👋 Сегодня хочу накинуть вам про паттерны проектирования микросервисов.
Когда я впервые окунулся в мир микросервисов, я подумал "какой же я тупой?!". Миновало три года и я уже точно могу сказать "какой именно я тупой"ахаха Все эти мутки с микросервисами напоминают то, как я в детстве с бабушкой пазлы собирал на 1000 штук. Сначала вообще не понятно, что к чему. Но потом на помощь приходят мама с папой и дело уже идёт хорошо. Вот такими мамой с папой для микросервисов и есть эти паттерны, про которые было в заголовке. Такие себе проверенные временем рецепты для типичных проблем.
Начнем что-ли с API Gateway. Представьте, у вас куча микросервисов, каждый со своим эндпоинтом. Без API Gateway пользователи бы сходили с ума, пытаясь добраться до каждого сервиса, ну или фронтендеры бы разбрызгали свой раф в попытках найти нужный адрес. API Gateway – это как консьерж в отеле, который управляет всеми запросами, обеспечивает безопасность и даже может кешировать ответы, чтобы всё работало быстрее.
Следующий важный паттерн – Service Discovery. В мире микросервисов сервисы появляются и исчезают, как грибы после дождя. Service Discovery помогает им находить друг друга автоматически. Это как на вечеринке, где каждый гость постоянно меняет место, а хост всегда знает, кто где сидит. Короч, чтоб не завязываться на конкретный IP мы просто юзаем сервис дискавери, а тот сам всё разыщет кого надо)
И, конечно, Circuit Breaker. Этот паттерн спасает, когда один из микросервисов начинает тупить. Circuit Breaker – это как предохранитель в электропроводке: если где-то сбой, он не даёт всей системе рухнуть. Он просто начинается дропать запросы, пока сервис не раздуплится и не будет готов к дальнейшей работе.
Эти паттерны только верхушка айсберга. Их гораздо больше, и каждый решает свою конкретную задачу.
А вы такие или подобные паттерны юзаете или всегда велосипедите в своих сервисах?
Накидывайте клубничек, если хотите прочесть про другие паттерны)
Здарова, бандиты! 👋 Сегодня хочу накинуть вам про паттерны проектирования микросервисов.
Когда я впервые окунулся в мир микросервисов, я подумал "какой же я тупой?!". Миновало три года и я уже точно могу сказать "какой именно я тупой"ахаха Все эти мутки с микросервисами напоминают то, как я в детстве с бабушкой пазлы собирал на 1000 штук. Сначала вообще не понятно, что к чему. Но потом на помощь приходят мама с папой и дело уже идёт хорошо. Вот такими мамой с папой для микросервисов и есть эти паттерны, про которые было в заголовке. Такие себе проверенные временем рецепты для типичных проблем.
Начнем что-ли с API Gateway. Представьте, у вас куча микросервисов, каждый со своим эндпоинтом. Без API Gateway пользователи бы сходили с ума, пытаясь добраться до каждого сервиса, ну или фронтендеры бы разбрызгали свой раф в попытках найти нужный адрес. API Gateway – это как консьерж в отеле, который управляет всеми запросами, обеспечивает безопасность и даже может кешировать ответы, чтобы всё работало быстрее.
Следующий важный паттерн – Service Discovery. В мире микросервисов сервисы появляются и исчезают, как грибы после дождя. Service Discovery помогает им находить друг друга автоматически. Это как на вечеринке, где каждый гость постоянно меняет место, а хост всегда знает, кто где сидит. Короч, чтоб не завязываться на конкретный IP мы просто юзаем сервис дискавери, а тот сам всё разыщет кого надо)
И, конечно, Circuit Breaker. Этот паттерн спасает, когда один из микросервисов начинает тупить. Circuit Breaker – это как предохранитель в электропроводке: если где-то сбой, он не даёт всей системе рухнуть. Он просто начинается дропать запросы, пока сервис не раздуплится и не будет готов к дальнейшей работе.
Эти паттерны только верхушка айсберга. Их гораздо больше, и каждый решает свою конкретную задачу.
А вы такие или подобные паттерны юзаете или всегда велосипедите в своих сервисах?
Накидывайте клубничек, если хотите прочесть про другие паттерны)
🍓53🔥4🤡2👍1😱1🤬1🤮1💩1
Сгонял к ребятам из Cloud.ru на подкаст:) Поговори про много что) И про гошку, и про микросервисы, и про курс и даже про проблемы женщин:)
Forwarded from Cloud.ru
This media is not supported in your browser
VIEW IN TELEGRAM
На этот раз у нас в гостях Олег Козырев, backend-разработчик из Авито.
Поговорили про:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4
Подключайтесь к стриму с опытной IT-рекрутеркой. Мы уже начинаем)
Планируем обсудим, как попасть в IT в 2024 году, разберем популярные стереотипы и мифы о найме в этой сфере. Думаю будет увлекательная беседа о том, как разработчики и рекрутеры видят процесс трудоустройства, с чего начать карьеру в IT и как выделиться среди конкурентов.
Залетайте на стрим и задавайте свои вопросы в прямом эфире!
https://youtube.com/live/QJnkx5bHvRI?feature=share
Планируем обсудим, как попасть в IT в 2024 году, разберем популярные стереотипы и мифы о найме в этой сфере. Думаю будет увлекательная беседа о том, как разработчики и рекрутеры видят процесс трудоустройства, с чего начать карьеру в IT и как выделиться среди конкурентов.
Залетайте на стрим и задавайте свои вопросы в прямом эфире!
https://youtube.com/live/QJnkx5bHvRI?feature=share
🔥7👍2
Ко мне пригнал в гости мой хороший друг Шемистан:) Знакомлю вас с ним, потому что он будет помогать мне проверять домашки на грядущем потоке курса по микросервисам, чтобы больше человек смогло залететь:) а то в прошлый раз мне нормально так людей писало, что не успели
Шемик уже три года пишет на гошке и тоже, как и я, работает в Авито:) А вообще мы оба учились в одном классе и сидели за одной партой:) Также у него крайне интересная история жизни и тернистый путь попадания в IT, о котором можно почитать в его канале.
Хоть у Шема и хороший опыт в гошке, я перед тем, как его брать ревьювером на курс, заставил его целиком пройти курс самостоятельно😂 Чтоб он на своей шкуре почувствовал каково это ахахаха А самое главное, он весьма эмпатичный человек, который помогает советами по коду, пока не увидит, что человек понял и начал шпарить прогу дальше) Кажется это очень важно для того, кто дает тебе фидбек
А в преддверии запуска нового потока мы хотим поотвечать на ваши вопросы:) Можно про курс задавать вопросы, про го, да и в целом на общие темы) Пишите их в комменты и мы там же будет отвечать на них кружочками:)
P.S. На фотке мы показываем на свой родной город:)
Шемик уже три года пишет на гошке и тоже, как и я, работает в Авито:) А вообще мы оба учились в одном классе и сидели за одной партой:) Также у него крайне интересная история жизни и тернистый путь попадания в IT, о котором можно почитать в его канале.
Хоть у Шема и хороший опыт в гошке, я перед тем, как его брать ревьювером на курс, заставил его целиком пройти курс самостоятельно😂 Чтоб он на своей шкуре почувствовал каково это ахахаха А самое главное, он весьма эмпатичный человек, который помогает советами по коду, пока не увидит, что человек понял и начал шпарить прогу дальше) Кажется это очень важно для того, кто дает тебе фидбек
А в преддверии запуска нового потока мы хотим поотвечать на ваши вопросы:) Можно про курс задавать вопросы, про го, да и в целом на общие темы) Пишите их в комменты и мы там же будет отвечать на них кружочками:)
P.S. На фотке мы показываем на свой родной город:)
❤11🔥7👍4🥰1
А вот пошел бы Дуров к нам на курс, не падала бы так телега😂 Тогда б наверное и вовсе не подняли😁
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣24👏2
🌹Rate Limiter: что, как и нафига
Го поговорим о Rate Limiter. Это штукень, которая ограничивает количество запросов к серверу за определённое время. Типа как раньше еду по карточкам давали, вот и тут та же картина с запросами к серваку. Вариков как именно ограничивать трафик много, глянем на четыре из них.
ВИДЫ АЛГОРИТМОВ
1. Fixed Window: Всё просто — допустим допускается 100 запросов в минуту. Но на границе интервалов возможны пики, и тогда сервер офигеет. Типо 99 запросов прилетит в последнюю секунду первой минуты, и в первую секунду второй минуты. В итоге за 2 секунды прилетит 198 запросов.
- Плюсы: Легко реализовать.
- Минусы: Возможны пиковые нагрузки на границах интервалов.
2. Sliding Window: Этот варик поумнее. Считает запросы в скользящем окне времени, так что пики сглаживаются, и сервер не перегревается.
- Плюсы: Сглаживает пики, равномерно распределяет нагрузку.
- Минусы: Сложнее реализовать, требует больше ресурсов.
3. Token Bucket: Это буквально ведро с токенами. Каждый запрос берёт один токен. Токены восстанавливаются со временем. Если токенов нет — запрос дропаем. Навалили в ведро 100 токенов и раз в 1/100 минуты докидываем новый токен на фоне. Если трафик летит быстрее этого темпа тут уж сорян, се ля ви.
- Плюсы: Гибкость, равномерное распределение нагрузки.
- Минусы: Может быть сложным в настройке.
4. Leaky Bucket: Ещё одно ведро, только с дыркой!)) Запросы вытекают с постоянной скоростью, а если их слишком много — всё льётся через край, и сервер рад не будет. По сути это очередь, каждый элемент которой обрабатывается через равные промежутки времени. И если очередь переполнится, то лишние запросы начинаем скипать.
- Плюсы: Предсказуемое поведение, стабильная обработка запросов.
- Минусы: Не так гибок, может отбрасывать внезапные пиковые запросы.
RATE LIMITER VS CIRCUIT BREAKER
Рейт лимитер похож ещё на один паттерн, который ограничивает трафик - сёркет брейкер. Вопрос только в чём между ними разница. Фишка в том, что Rate Limiter ограничивает количество запросов за определённое время, а Circuit Breaker предотвращает дальнейшие запросы, если предыдущие попытки завершились ошибкой.
Короче говоря, Rate Limiter юзают, чтоб предотвратить проблему с перегрузкой сервака, а Circuit Breaker, когда жопа уже наступила ахаха
Rate Limiter:
- Плюсы: Предотвращает перегрузку сервера, защищает от DDoS атак.
- Минусы: Не шарит за ошибки внутри сервиса.
Circuit Breaker:
- Плюсы: Изолирует ошибочные компоненты, предотвращает каскадные отказ системы.
- Минусы: Не предотвращает перегрузку, работает только после возникновения проблемы.
А если вам хочется поразвлекаться с рейт лимитером в живую, а не только слушать офигительные рассказы, то го сюда. В этой папке я собрал простенький grpc сервачок с метриками, рейт лимитером и прометеус в докер-компоуз запихал. Берете локально это добро поднимаете и команду из мейк файла вызываете. В итоге там утилитка ghz начинает хреначит трафиком по ручке, а вы потом увидите на графике в прометеусе, как рейт лимитер обрезает нагрузку.
ПРИМЕР ТЕСТОВЫЙ, В ПРОД ТАКОЕ НЕ ТАЩИТЕ!
Писали когда-нить свой рейт лимитер или всё готовые юзали?
P.S. На фотке держим ведра с токенами😁
Го поговорим о Rate Limiter. Это штукень, которая ограничивает количество запросов к серверу за определённое время. Типа как раньше еду по карточкам давали, вот и тут та же картина с запросами к серваку. Вариков как именно ограничивать трафик много, глянем на четыре из них.
ВИДЫ АЛГОРИТМОВ
1. Fixed Window: Всё просто — допустим допускается 100 запросов в минуту. Но на границе интервалов возможны пики, и тогда сервер офигеет. Типо 99 запросов прилетит в последнюю секунду первой минуты, и в первую секунду второй минуты. В итоге за 2 секунды прилетит 198 запросов.
- Плюсы: Легко реализовать.
- Минусы: Возможны пиковые нагрузки на границах интервалов.
2. Sliding Window: Этот варик поумнее. Считает запросы в скользящем окне времени, так что пики сглаживаются, и сервер не перегревается.
- Плюсы: Сглаживает пики, равномерно распределяет нагрузку.
- Минусы: Сложнее реализовать, требует больше ресурсов.
3. Token Bucket: Это буквально ведро с токенами. Каждый запрос берёт один токен. Токены восстанавливаются со временем. Если токенов нет — запрос дропаем. Навалили в ведро 100 токенов и раз в 1/100 минуты докидываем новый токен на фоне. Если трафик летит быстрее этого темпа тут уж сорян, се ля ви.
- Плюсы: Гибкость, равномерное распределение нагрузки.
- Минусы: Может быть сложным в настройке.
4. Leaky Bucket: Ещё одно ведро, только с дыркой!)) Запросы вытекают с постоянной скоростью, а если их слишком много — всё льётся через край, и сервер рад не будет. По сути это очередь, каждый элемент которой обрабатывается через равные промежутки времени. И если очередь переполнится, то лишние запросы начинаем скипать.
- Плюсы: Предсказуемое поведение, стабильная обработка запросов.
- Минусы: Не так гибок, может отбрасывать внезапные пиковые запросы.
RATE LIMITER VS CIRCUIT BREAKER
Рейт лимитер похож ещё на один паттерн, который ограничивает трафик - сёркет брейкер. Вопрос только в чём между ними разница. Фишка в том, что Rate Limiter ограничивает количество запросов за определённое время, а Circuit Breaker предотвращает дальнейшие запросы, если предыдущие попытки завершились ошибкой.
Короче говоря, Rate Limiter юзают, чтоб предотвратить проблему с перегрузкой сервака, а Circuit Breaker, когда жопа уже наступила ахаха
Rate Limiter:
- Плюсы: Предотвращает перегрузку сервера, защищает от DDoS атак.
- Минусы: Не шарит за ошибки внутри сервиса.
Circuit Breaker:
- Плюсы: Изолирует ошибочные компоненты, предотвращает каскадные отказ системы.
- Минусы: Не предотвращает перегрузку, работает только после возникновения проблемы.
А если вам хочется поразвлекаться с рейт лимитером в живую, а не только слушать офигительные рассказы, то го сюда. В этой папке я собрал простенький grpc сервачок с метриками, рейт лимитером и прометеус в докер-компоуз запихал. Берете локально это добро поднимаете и команду из мейк файла вызываете. В итоге там утилитка ghz начинает хреначит трафиком по ручке, а вы потом увидите на графике в прометеусе, как рейт лимитер обрезает нагрузку.
ПРИМЕР ТЕСТОВЫЙ, В ПРОД ТАКОЕ НЕ ТАЩИТЕ!
Писали когда-нить свой рейт лимитер или всё готовые юзали?
P.S. На фотке держим ведра с токенами😁
👍16🔥10❤1💯1👨💻1
Media is too big
VIEW IN TELEGRAM
Я долго тянул, вы много спрашивали и вот я родил дату старта продаж:) Чтобы сообщить вам о ней не сухо, а с юморком, мы с Шемиком сняли кринжовую рекламу 😂 Смотрите ролик и все узнаете:)
И ставь 🌭 если ролик улыбнул:)
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭29😁12🔥3🏆2❤1🤡1
А какая технология вас прет больше всего?:)
Вопрос возник к вам. Мы вот каждый день чего-то там кодим и используем разные инструменты. Тут тебе и всякие протоколы а-ля http и grpc, и всякие базы типо постгреса и редиса, брокеры типо кафки, докеры, куберы и так далее)
И мне вот интересно: а какая из технологий нравится вам больше всего в плане использования? Ну чтоб вот работаешь с ней и на душе тепло)
И второй вопрос: а с какой технологией бы очень хотелось познакомится?)
P.S. Это может быть язык, инструмент, концепция и все такое
Вопрос возник к вам. Мы вот каждый день чего-то там кодим и используем разные инструменты. Тут тебе и всякие протоколы а-ля http и grpc, и всякие базы типо постгреса и редиса, брокеры типо кафки, докеры, куберы и так далее)
И мне вот интересно: а какая из технологий нравится вам больше всего в плане использования? Ну чтоб вот работаешь с ней и на душе тепло)
И второй вопрос: а с какой технологией бы очень хотелось познакомится?)
P.S. Это может быть язык, инструмент, концепция и все такое
🤔7👨💻3❤2
Сегодня выступаю на гошном митапе с докладом о типичных ошибках в гошке:) Много кота и крутых анимаций обеспечено😂
В 19:00 мск подключайтесь! Я там и на вопросы поотвечаю:)
https://www.youtube.com/live/SJHRxVxNLPg?si=p7hAN7Gjh4-67i2n
В 19:00 мск подключайтесь! Я там и на вопросы поотвечаю:)
https://www.youtube.com/live/SJHRxVxNLPg?si=p7hAN7Gjh4-67i2n
👍15🔥12