Media is too big
VIEW IN TELEGRAM
Уже имеем:
✅ Понятные и подтверждённые требования.
Задача этапа:
Построить каркас взаимодействия ключевых компонентов по «happy path» — идеальному сценарию работы системы.
Что нужно сделать:
1️⃣ Выделить ключевые сущности системы:
- Клиенты (фронты, мобильные приложения, внешние системы);
- Сервисы (микросервисы);
- Хранилища (базы данных).
2️⃣ Соединить их стрелками в рамках взаимодействия по "happy path". На стрелках ничего писать не нужно, все способы взаимодействия будем определять на следующих этапах.
Если пропустили первую часть, то она тут.
P.S. Окно вернул:)
P.S.S. Не ленимся записываться на выходные, группа по EDA пустая
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥7👍3
До начала занятия осталось несколько часов, еще можно успеть записаться :)
Описание программы:
Уровень: junior.
Требуемые навыки: Умение читать ER-диаграмму.
Кол-во участников: до 5.
Длительность: ~4 часа.
Программа:
✅ Форматы данных;
✅ HTTP-методы и их свойства;
✅ REST и RESTfull;
✅ Обработка ошибок в синхронных интеграциях.
Практика:
✅ Проектирование REST API для нового сервиса;
✅ Внедрение пагинации и фильтрации;
✅ Swagger;
✅ Postman.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Скидка 30% на все курсы!
Цены действуют только до конца дня 11.11. Чуть больше суток, а дальше всё — по обычной цене:)
Ссылка на курсы:
Системные интеграции от 9720₽
Основы архитектуры от 20890₽
Системный анализ (базовый) от 29980₽
✅Оформление рассрочки
Рассрочка без переплат доступна всем (проценты беру на себя).
Оформление происходит через партнёров "Ресурс развития".
Они обязательно перезванивают вам при получении заявки — это не мошенники, без подтверждения от вас они не смогут направить заявку в банк.
Если есть вопросы по программе или тому, как проходит обучение, — смело пишите мне в личные сообщения :)
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Media is too big
VIEW IN TELEGRAM
Уже имеем:
✅ Понятные и подтверждённые требования;
✅ "Скелет" будущей системы.
Задача этапа:
Выбрать способы интеграции между элементами системы. На каждой стрелке нашего "скелета" указать технологию, с помощью которой будет реализовано взаимодействие.
Если у вас мало опыта в проектировании интеграций, ловите небольшой "универсальный" подход, который покроет большинство кейсов:
1️⃣ Frontend ↔️ Backend
🔸Для синхронного взаимодействия используйте REST API. Это самый распространённый и понятный способ.
🔸Для асинхронного взаимодействия выбирайте WebSocket или SSE. Ссылки на посты, что это за звери, прикрепил:)
2️⃣ Backend ↔️ Backend
🔸Для синхронных взаимодействий также подойдёт REST API, но если вы знакомы с такой технологией как gRPC, то лучше использовать её.
🔸Для асинхронных интеграций выбирайте брокер сообщений, который вам ближе. Также у меня был пост, в котором я рассказывал, как правильно выбрать брокер для проекта.
⚠️Помните, что это не серебряная пуля, и решение конкретных кейсов может отличаться, всегда опирайтесь на свои знания :)
Предыдущие части:
Шаг 1: правильно понимаем условия задачи;
Шаг 2: строим скелет будущей системы.
P.S. До конца скидок осталось 8 часов :)
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4
Media is too big
VIEW IN TELEGRAM
Уже имеем:
✅ Понятные и подтверждённые требования;
✅ "Скелет" будущей системы;
✅ Технологии интеграций между элементами.
Задача этапа:
Выбрать технологии баз данных, подходящих под задачи сервисов.
В том же формате: небольшой "универсальный" подход, который покроет большинство кейсов:
1️⃣ Хранение структурированных сущностей
Если вам необходимо хранить данные о сущности с конечным набором атрибутов, то выбирайте PostgreSQL.
2️⃣ Хранение неструктурированных сущностей
Если ваши сущности имеют динамический набор атрибутов, то также выбирайте PostgreSQL, но для хранения меняющегося набора атрибутов используйте JSONB формат.
3️⃣ Аналитика и отчетность
Для построения отчетов и агрегации метрик на больших объемах используйте Clickhouse или другие колоночные(столбчатые) СУБД, с которыми у вас больше опыта.
4️⃣ Кеширование
Если нужен быстрый кеш, то выбирайте Redis.
Для хранения сессий он тоже отлично подойдёт.
⚠️ Это надежная опора, а не истина в последней инстанции. Всегда смотрите на специфику задачи и свой опыт!
Предыдущие части:
Шаг 1: правильно понимаем условия задачи;
Шаг 2: строим скелет будущей системы;
Шаг 3: проектируем интеграции.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥6👍3
Media is too big
VIEW IN TELEGRAM
Уже имеем:
✅ Понятные и подтверждённые требования;
✅ "Скелет" будущей системы;
✅ Технологии интеграций между элементами;
✅ Технологии баз данных для сервисов.
Задача этапа:
Когда основа системы готова, пора добавить ключевые компоненты для масштабируемости и отказоустойчивости:
1️⃣ HTTP Proxy
Между FE и BE-сервисами с HTTP-интерфейсами добавляем HTTP Proxy.
Это необходимо для кеширования, балансировки нагрузки и безопасности.
2️⃣ Количество подов для сервисов
Всегда минимум 2 пода. Для сервисов с высокой нагрузкой увеличивайте количество подов или настраивайте HPA.
3️⃣ Количество партиций в топиках
Если вы используете Apache Kafka, то при увеличении числа подов сервисов не забывайте про количество партиций в топиках, которые эти сервисы читают. Ранее рассказывал, как правильно это сделать.
4️⃣ Кластерные базы данных
Если сервис участвует в ключевом бизнес-процессе вашей системы, то он обязательно должен иметь под собой кластерную базу данных для обеспечения отказоустойчивости и производительности. Ранее выходил цикл постов, в котором я подробно рассказывал про кластеризацию.
5️⃣ Общий взгляд на систему
Ещё раз посмотрите на то, что у вас получилось. Возможно, на каком-то из предыдущих этапах вы что-то не учли, и сейчас самое время это добавить.
Предыдущие части:
Шаг 1: правильно понимаем условия задачи;
Шаг 2: строим скелет будущей системы;
Шаг 3: проектируем интеграции;
Шаг 4: выбор технологий БД.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
26👍6🔥3
Ещё остались места в группах на этих выходных:
🔴 22.11 Функциональные требования — 1 место, записаться;
🟡 23.11 Нотация С4 — 2 места, записаться.
Также будет одно занятие через неделю:
🟢 29.11 Нотация С4 — 4 места, записаться.
Подробная информация о программах:
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Media is too big
VIEW IN TELEGRAM
Уже имеем:
✅ Понятные и подтверждённые требования;
✅ "Скелет" будущей системы;
✅ Технологии интеграций между элементами;
✅ Технологии баз данных для сервисов;
✅ Средства отказоустойчивости и производительности.
Задача этапа:
Внедрить мониторинг системы.
Если имеете опыт использования каких-то решений для мониторинга, смело применяйте его. Если опыта у вас нет, то ещё один "универсальный" список технологий:
1️⃣ Prometheus
Система сбора и хранения метрик. Собирает данные о работе системы (CPU, память, количество запросов, ошибок) и хранит их во временной базе данных.
2️⃣ Grafana
Визуализация метрик. Берет данные из Prometheus и показывает их в виде красивых дашбордов с графиками, таблицами и индикаторами.
3️⃣ Alertmanager
Управление оповещениями. Принимает алерты от Prometheus, группирует их, убирает дубли и отправляет уведомления в нужные каналы (Email, Slack, Telegram и тд).
4️⃣ Jaeger
Трассировка распределенных систем. Показывает полный путь одного запроса через все микросервисы, где и сколько времени он выполнялся, что помогает находить узкие места.
5️⃣ ELK (Elasticsearch, Logstash, Kibana)
Сбор и анализ логов:
- Elasticsearch — поисковый движок для хранения и поиска по логам;
- Logstash — сбор, парсинг и преобразование логов;
- Kibana — веб-интерфейс для просмотра и анализа логов.
Предыдущие части:
Шаг 1: правильно понимаем условия задачи;
Шаг 2: строим скелет будущей системы;
Шаг 3: проектируем интеграции;
Шаг 4: выбор технологий БД;
Шаг 5: производительность и отказоустойчивость.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
26🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Набрали первую тысячу подписчиков канала
Ловите 2 анонса в честь этого события:
1️⃣ Проведем первый вебинар.
Тему сообщу в отдельном посте, а с датой и временем определимся через голосование.
2️⃣ Оценка навыков v2.
Готовлю к запуску новую версию, которая будет целиком основана на решении практических задач. Запуск уже на следующей неделе.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥20👍5👏4
This media is not supported in your browser
VIEW IN TELEGRAM
Шаг 1: правильно понимаем условия задачи;
Шаг 2: строим скелет будущей системы;
Шаг 3: проектируем интеграции;
Шаг 4: выбор технологий БД;
Шаг 5: производительность и отказоустойчивость;
Шаг 6: мониторинг.
На следующей неделе начну разбирать практические примеры решения задач, которые вы приносили с собеседований 🫡
Разборы сделаю в формате длинных видео с записью экрана, поэтому выходить будут немного реже :)
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
В тайминг практической части смог уместить работу со structurizr.
Structurizr — нативная утилита для визуализации архитектуры на основе нотации C4. Работает по принципу Diagrams as Code.
В группе на воскресенье 12:00 МСК осталось всего 1 место, записывайтесь тут:)
P.S. Также 1 место осталось на занятие по функциональным требованиям завтра в 16:00 МСК, записаться можно тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥7
В процессе общения на консультациях и интенсивах, неожиданно для себя, я заметил одну общую боль: многие, вроде бы, знают ключевые термины, но не до конца понимают, как это все устроено "под капотом".
Поэтому тема: "Распределенные системы".
На максимально понятных примерах объясню за счет чего достигается те самые согласованности, масштабируемости, отказоустойчивости и все остальные сложные термины.
Теперь к организационному:
✅ Участие бесплатное;
🎤 50-60 минут на презентацию;
⏰Но нам нужно определиться с датой и временем.
Ниже прикреплю 2 опроса. Голосовать будем до вечера четверга, чтобы я успел скорректировать график интенсивов декабря и всех уведомить.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍6😁2
Сначала выберем дату вебинара:
Final Results
53%
06.12 Суббота
40%
07.12 Воскресенье
23%
13.12 Суббота
32%
14.12 Воскресенье
Media is too big
VIEW IN TELEGRAM
Ссылка youtube
Эта задача досталась одному из подписчиков на собеседовании.
Условия задачи:
Разработка платформы для сети коворкинг-центров, объединяющей мобильное приложение для пользователей и веб-интерфейс для администраторов.
Для пользователей (мобильное приложение):
-Просмотр доступных рабочих мест;
-Выбор и бронирование места на определённое время;
-Интеграция с платежным шлюзом для оплаты бронирования (минимум 3 банка).
Для администраторов (веб-интерфейс):
-Управление каталогом рабочих мест (добавление, блокировка);
-Динамическое управление тарифами аренды;
-Просмотр агрегированной аналитики (Графики заполняемости пространства, Статистика посещаемости по времени и зонам).
Технические ограничения:
-Поддержка 1000+ одновременных пользователей;
-Формирование отчетов с задержкой не более 5 минут.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥18👍4
Media is too big
VIEW IN TELEGRAM
Как и обещал, новая оценка навыков уже доступна!
Что изменилось во второй версии:
✅ Только практические задания из реальных собеседований;
✅ Самые актуальные темы под текущие требования рынка;
✅ Время на решение не ограничено;
✅ Система сертификации для вашего резюме.
Также как и ранее я самостоятельно проверяю ваше решение и направляю подробный разбор.
Те, кто наберёт 80 баллов из 100, получат сертификат, который можно прикрепить к резюме. Полностью честный, валидируется по ссылке или QR-коду.
Кейсы, которые вас ждут:
🔸System Design;
🔸BPMN/UML;
🔸Проектирование синхронных и асинхронных интеграций;
🔸Работа с событиями;
🔸Проектирование структуры БД;
🔸SQL.
Вторая версия стала платной, потому что теперь это не просто проверка теоретических знаний, а полноценный аудит ваших хардскиллов с сертификатом для резюме.
Чтобы попробовать свои силы, жмите сюда
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥8👍3
По итогам опроса побеждает 6 декабря :)
Теперь выбираем время, опрос также ниже
Технические неполадки, не поставил галочку с выбором нескольких ответов, нужно переголосовать:)
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👍2
Время вебинара по МСК
Final Results
41%
13:00
24%
14:00
27%
15:00
16%
16:00
16%
17:00
22%
18:00
19%
19:00
38%
20:00
По итогам опроса, с небольшим отрывом, побеждает 13:00.
Итог: встречаемся с вами в субботу 06.12 в 13:00 по МСК.
Ссылка на подключение будет накануне :)
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥9👍2