Системный анализ | Дмитрий Помаскин
1.37K subscribers
44 photos
150 videos
266 links
📍Обучение системному анализу
📍Полезные материалы для развития навыков
📍Разбор практических кейсов по системному анализу и архитектуре
📍Индивидуальные консультации (менторство)

Моя онлайн-школа:
https://system-analysis.skillspace.ru
Download Telegram
Media is too big
VIEW IN TELEGRAM
❗️Веселые истории про смену работы: финтех❗️

Шестое видео про смену работы, на этот раз банк 🏦

Если вы пропустили первые части:
🔸 Про резюме;
🔸 Про HR;
🔸 Про iGaming;
🔸 Про маркетплейс;
🔸 Про шахту.

Это последняя история, которую можно отнести в формат "что-то пошло не так".

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥7🤯5😁3
Media is too big
VIEW IN TELEGRAM
❗️Обработка исключений❗️

Ранее разбирал задачку по system design и обещал рассказать отдельно про подходы, которые применял при решении.

Второй аспект, о котором я говорил, — это обработка исключений.

‼️ Предусматривать сценарии обработки ошибок — это супер важно.

Я уже много раз про это говорил и в постах, и на практических занятиях, но ещё раз напомню:

При решении любой задачи нельзя опираться только на положительные сценарии работы.

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

Это касается и решения задач на собеседованиях, и проектирования боевых систем.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥8👍4
Media is too big
VIEW IN TELEGRAM
❗️Circuit Breaker❗️

Сегодня разбираем следующий аспект, который я использовал при решении задачи по system design.

Circuit Breaker — паттерн, который предотвращает каскадные сбои в системе путем автоматического прекращения вызовов к неисправному сервису на определенное время.

Имеет три состояния:

🟢Closed: Запросы проходят к сервису. Штатное поведение системы.

🔴Open: При накоплении ошибок "выключатель" активируется. Запросы к проблемному сервису не отправляются, выбрасывая исключение. Это дает сервису время восстановиться.

🟡Half-Open: Через заданное время "выключатель" пропускает несколько запросов. Если они успешны — цепь снова замыкается (Closed). Если нет — снова размыкается (Open).

Зачем нужен:
Защищает систему от бесконечных таймаутов и зависаний.

Позволяет проблемному сервису восстановиться, не будучи заваленным повторными запросами.

P.S. Немного оговорился на видео, перезаписать не успел, поправил * в субтитрах.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
30👍8🔥4
🗓 Интенсивы марта 🗓

Расписание занятий на март:
🔸7.03 Суббота
🔸14.03 Суббота
🔸15.03 Воскресенье
🔸21.03 Суббота

Все занятия пройдут в 12:00 по МСК.

Темы занятий по классике выберем голосованием.

Для тех, кто не понимает, о каких интенсивах речь, рассказал тут.

Описание программ:
🔸REST API;
🔸
Базы данных (с нуля);
🔸Базы данных (middle);
🔸
Брокеры сообщений;
🔸
Функциональные требования;
🔸
Event-Driven Architecture;
🔸
Нотация С4.

❗️Новых тем в марте не будет, хочу успеть запустить новый формат! Скоро расскажу все детали отдельным постом 🫡

А пока предлагаю выбрать тему занятия 7.03 👍

❗️Как и всегда: голосуйте, только если сможете посетить занятие :)

Опрос ниже👇

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍1
‼️ В опросе была опечатка, прошу проголосовать ещё раз.
Прошу прощения 😐
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️07.03 12:00 МСК Event-Driven Architecture❗️

В упорнейшей борьбе, с отрывом всего в 1 голос (21 против 20), побеждает Event-Driven Architecture 🏁

Те, кто голосовал за другие темы, не расстраивайтесь. Повторов в следующем месяце не будет, поэтому есть ещё 3 занятия 14, 15 и 21 марта🫡

🕒Запись будет открыта сегодня в 18:00 МСК.

Уровень: Middle+.
Требуемые навыки: Понимание принципов работы распределённых систем, Apache Kafka.
Кол-во участников: до 4.
Длительность: ~4 часа.
Программа:
Немного общей теории по распределенным системам;
Что такое "событие";
Что такое EDA;
Сильные и слабые стороны EDA;
Модели данных для EDA;
Мониторинг в EDA.

Практика:
Проектируем EDA систему с нуля;
Готовим схему расположения сервисов;
Расширяем функционал системы с использованием имеющихся событий;
Внедряем в систему мониторинг.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3
Запись открыта

07.03 12:00 МСК Event-Driven Architecture.

Для записи жмите сюда 👈

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Media is too big
VIEW IN TELEGRAM
❗️Веселые истории про смену работы: задачи❗️

Как и обещал, собрал топ 3 самых популярных задач, которые давали на технических собесах:

1️⃣Разделение чтения и записи — классическая задача, которую много раз разбирал на канале, а также часто решаем подобные задачи на интенсивах. У меня даже был небольшой гайд.

2️⃣Проектирование нового модуля для системы — задачи максимально приближены к тем, что дают системным аналитикам в секции system design. Дополнительно просят посчитать сайзинги и детально обосновать выбор какой-то из использованных технологий. Похожий пример разбирал в цикле видео по system design.

3️⃣Полнотекстовый поиск — удивительно, но задача до сих пор актуальна. Всё упирается в правильное использование любой технологии FTS. Пример таже разбирал.

Если вы пропустили первые части:
🔸 Про резюме;
🔸 Про HR;
🔸 Про iGaming;
🔸 Про маркетплейс;
🔸 Про шахту;
🔸 Про банк.

P.S. А на субботу ещё есть 2 свободных места, запись тут :)

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
23🔥6👍2
❗️Тема занятия 14.03 12:00 МСК❗️

Давайте выберем тему на следующую субботу 14.03.

Как обещал, повторов не будет, поэтому EDA убираю из списка, будем разбирать в эту субботу 🫡

Описание программ:
🔸REST API;
🔸
Базы данных (с нуля);
🔸Базы данных (middle);
🔸
Брокеры сообщений;
🔸
Функциональные требования;
🔸
Нотация С4.

Для тех, кто не понимает, о каких интенсивах речь, рассказал тут.

❗️Как и всегда: голосуйте, только если сможете посетить занятие :)

Опрос ниже👇

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
❗️14.03 12:00 Нотация С4❗️

По результатам голосования побеждает Нотация С4 🏁

⚠️ Для этого занятия вам понадобится docker, поэтому прошу не записываться в последний момент, чтобы успеть всё настроить :)

🕒Запись будет открыта сегодня в 18:00 МСК.

Уровень: Middle.
Требуемые навыки: Понимание принципов работы распределённых систем.
Кол-во участников: до 4.
Длительность: ~3.5 часа.
Программа:
Что такое нотация С4;
Для чего она нужна;
Какие уровни бывают;
Основные элементы всех уровней;
Что из этого реально стоит использовать в работе;
Какие инструменты существуют для работы с С4.

Практика:
Подготовим описание системы на разных уровнях;
Модифицируем схему по результатам доработок;
Работа со structurizr.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Запись открыта

14.03 12:00 МСК Нотация С4

Для записи жмите сюда 👈

❗️Также осталось всего 1 место на завтра (07.03) по Event-Driven Architecture, запись тут 👈

P.S. А на следующей неделе начнём новый цикл видео, в котором поговорим о кешировании 🫡

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
❗️Тема занятия 15.03 12:00 МСК❗️

Давайте выберем тему на воскресенье 15.03, голосуем до 12:00 четверга, затем открою запись.

Уже сегодня вечером начнём новый цикл видео про кеширование 🫡

На нотацию С4 в эту субботу есть ещё 2 места, запись тут 👈

Описание программ:
🔸REST API;
🔸
Базы данных (с нуля);
🔸Базы данных (middle);
🔸
Брокеры сообщений;
🔸
Функциональные требования.

Для тех, кто не понимает, о каких интенсивах речь, рассказал тут.

❗️Как и всегда: голосуйте, только если сможете посетить занятие :)

Опрос ниже👇

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Media is too big
VIEW IN TELEGRAM
❗️Кеширование простыми словами❗️

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

Основные свойства:

Скорость чтения — доступ к данным осуществляется быстрее, чем при обращении в основное хранилище.

Снижение нагрузки — нет необходимости каждый раз обращаться к основному хранилищу данных.

Время жизни (TTL) — данные в кеше хранятся ограниченное количество времени.

Инвалидация — процесс удаления из кеша устаревших\ненужных записей.

Актуализация — процесс продления TTL отдельных записей в кеше.

P.S. Выше продолжаем голосования за тему практического интенсива 15.03 :)

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥11👍4
❗️15.03 Базы данных (middle) ❗️

По результатам голосования победили базы данных (middle) 🏁

🕒Запись будет открыта сегодня в 18:00 МСК.

Уровень: Middle.
Требуемые навыки: Понимание принципов работы распределённых систем, ER-диаграммы.
Кол-во участников: до 4.
Длительность: ~4 часа.
Программа:
ACID;
CAP теорема;
Выбор СУБД и способы применения;
Кластеризация;
Партиционирование;
Шардирование;
PostgreSQL (WAL, JSONB).

Практика:
System design с уклоном в БД;
Внедрение и обоснование кластеров;
Проектирование модели данных PostgreSQL с использованием JSONB.

P.S. На нотацию С4 14.03 осталось 2 места, запись тут :)

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Запись открыта

Коллеги, пропал интернет и не мог открыть запись, поэтому с небольшим опозданием 🙃

15.03 12:00 МСК Базы данных (middle)
🟢 4 места:
Записаться на БД 👈

14.03 12:00 МСК Нотация С4
🟡 2 места:
Записаться на С4 👈

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Media is too big
VIEW IN TELEGRAM
❗️Кеширование в RAM сервиса❗️

⚙️ Суть:
Сервис хранит результаты предварительных вычислений или обращений к БД внутри оперативной памяти, при повторном запросе сразу отдает результат.

Плюсы:

Скорость работы — отсутствуют сетевые обращения, данные целиком берутся из оперативной памяти.

Простота архитектуры — нет необходимости внедрять дополнительные технологии для кеширования.

Минусы:

Горизонтальная масштабируемость — каждый под вашего сервиса хранит свой кеш локально. Наличие данных в памяти одного пода не означает наличие этих данных в другом.

Риск потери — при рестарте пода вы потеряете его кеш целиком.

Ограничение по объему — размер кеша ограничен количеством оперативной памяти вашего пода.

P.S. Есть по 2 места в каждой группе на этах выходных, для записи жмите нотация С4 и базы данных (middle).


Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍6🔥3
🗓 Небольшие изменения в расписании 🗓

❗️Интенсив 21.03 переносится на 28.03

Также напоминаю, что на завтра (15.03) Базы данных (middle) есть еще 2 места 🙃
Записаться на БД 👈

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4