GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
22K subscribers
2.43K photos
89 videos
247 files
1.37K links
Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов

Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart
Download Telegram
🐇 Брокер RabbitMQ - полный гайд 🐇

1. Что такое RabbitMQ и зачем он нужен
2. Как работает RabbitMQ
3. Очереди, обменники (exchange), routing и binding key - ключевая терминология и внутреннее устройство брокера
4. Типы обменников: direct, fanout, topic, headers
5. Пошаговый разбор: пример использования RabbitMQ в микросервисной архитектуре

Подробно разбирали брокер в подкасте:
🎧 RabbitMQ и его отличия от Kafka: что важно знать системным аналитикам

Сохраняйте в избранное, пригодится и в работе, и перед собеседованиями 🔖

#АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍9
🔖 База знаний по брокерам для СА: теория + практика + примеры 📚

Делимся с вами подборкой статей, постов и подкастов, которые помогут разобраться с темой:

📌 Брокеры и очереди — общая теория
📚 Очередь сообщений - что это и как работает?
📝 Всё про брокеры: как работают и зачем нужны
📝 Очередь vs Брокер: вопросы с подвохом
📝 Хореография и оркестрация в микросервисной архитектуре
📝 7 вопросов с подвохом по Архитектуре: хореография + понимание брокеров в EDA

📌 Kafka
📙 Официальная документация
📝 8 шагов, чтобы разобраться с Kafka
📝 Kafka - что надо знать для работы СА
📝 Устройство Kafka
📝 Алгоритм работы Kafka
📝 Как встроить Kafka в архитектуру, и главное зачем
📝 Пример использования Kafka - проект #FarmFreshGA
📝 Kafka в деле: подробный разбор примера использования в МСА
🎧 Kafka: что нужно знать Системному аналитику

📌 RabbitMQ
📙 Официальная документация
📝 Брокер RabbitMQ - полный гайд с разбором примера использования в микросервисах
📚 Брокер RabbitMQ - пошаговая практика по развёрыванию и тестированию через CloudAMPQ
🎧 RabbitMQ и его отличия от Kafka: что важно знать системным аналитикам

📌 Постановки задач / ТЗ
📝 Пример реального интеграционного Use Case: с микросервисами, cron и kafka - проект BookingGA
📝 Пример технического Use Case с брокером в микросервисной архитектуре - проект GreenChargeGA



📚 Книги
▫️ Apache Kafka. Потоковая обработка и анализ данных. Гвен Шапира
▫️ Kafka в действии. Дилан Скотт
▫️ Проектирование событийно-ориентированных систем. Бэн Стопфорд (есть в открытом доступе)



Сохраняйте — пригодится для изучения темы с нуля, подготовки к собеседованиям и структурирования знаний 🤝


#АрхитектураGA

📱 Tg | 💙 ВК | 💬 Max
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22❤‍🔥42
🟠 Открыли бесплатный доступ к 4-часовой практике по архитектуре 🟣

Не мини-урок на 20 минут и не “послушать про микросервисы в целом”.

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

Что важно понять:
▫️ кто управляет процессом
▫️ где нужен прямой API-вызов
▫️ где лучше использовать RabbitMQ или Kafka
▫️ как распределить ответственность между сервисами
▫️ чем хореография отличается от оркестрации на практике
▫️ как показать это на архитектурной схеме


🧡 Хореография и оркестрация микросервисов
📅 Только до 9 июня (вт)
🕘 4 часа практики

👉 План:
1. Основы архитектуры систем: монолит и микросервисы
2. Разработка схемы архитектуры для проекта
3. Оркестрация процессов: практика
4. Введение в брокеры сообщений (RabbitMQ, Kafka)
5. Хореография процессов: практика

🔗 Забрать бесплатный доступ*

*Если уже регистрировались — письмо с доступом на почте. Если письмо не нашли, можно зарегистрироваться повторно.


Продуктивной практики! 🧡
Please open Telegram to view this post
VIEW IN TELEGRAM
21
Все говорят про AI-агентов. Но что это значит для аналитика? 🤖

Давайте разберёмся.


👉 Чем агент отличается от общения с AI в чате

Вы пишете промпт в чат и получаете ответ.
Новое сообщение — новый ответ.
Любое новое действие = написать новое сообщение.
Это простое общение с генеративным AI.
Это не AI-агент.

AI-агент — это когда модель сама решает, что делать дальше.
Получила задачу → выбрала инструмент → выполнила шаг → посмотрела на результат → решила, что делать следующим шагом.

И так по кругу, без участия человека на каждом шаге.

Пример простого AI-агента:
1. Говорим агенту «проверь все открытые задачи в Jira и сформируй отчёт».
2. AI-агент сам заходит в Jira, сам фильтрует, сам структурирует, сам пишет отчёт.
3. Мы получаем итоговый результат.

🕓 Что ещё круче обычного диалога с AI — AI-агент может запускаться без нашего участия, а по событию или по расписанию.



👉 Из чего состоит агент — минимум, который надо знать:

▫️ LLM — мозг.
принимает решения, генерирует текст

▫️ Tools – инструменты:
поиск в интернете, запросы к API, работа с файлами, выполнение кода

▫️ Memory — память:
краткосрочная (контекст сессии) и долгосрочная (база знаний, векторное хранилище)

▫️ Оркестратор — логика:
в каком порядке запускать шаги, как обрабатывать ошибки



👉 Почему аналитику важно изучать как работают AI-агенты и как их создавать

Потому что агент — это не просто разработческая история, а архитектурная.

Когда бизнес говорит «хотим автоматизировать обработку заявок через ИИ», то аналитик должен уметь ответить на вопросы:

▫️ Какие инструменты нужны агенту? (доступ к каким системам)
▫️ Где граница автономии: что агент решает сам, что эскалирует человеку?
▫️ Как логировать действия агента для аудита?
▫️ Что происходит при ошибке на одном из шагов?
▫️ Кто и как валидирует результат работы AI-агента?

Это требования. И их кто-то должен написать.


👉 Паттерны проектирования AI-агентов:

▫️ ReAct — агент чередует «думаю» и «делаю», объясняя свои шаги

▫️ Plan & Execute — сначала строит план целиком, потом выполняет

▫️ Multi-agent — несколько агентов с разными ролями: один ищет, другой анализирует, третий пишет итог

▫️ Human-in-the-loop — агент останавливается и ждёт подтверждения на критических шагах

Последний паттерн обязателен в любой системе, где агент влияет на реальные данные или деньги. Если этого нет в архитектуре — это не фича, это баг, который ещё не случился.



👉 Где строят агентов

▫️ n8n — визуальный конструктор, схема агента собирается по аналогии с bpmn.

▫️ Claude Cowork — даёшь цель, агент сам работает с твоими файлами и приложениями на компьютере, возвращает готовый результат. Для нетехнических специалистов.

▫️ Claude Code — то же, но для разработчиков и вайбкодеров: работает в терминале, читает весь код проекта, пишет и редактирует файлы, запускает тесты, итерирует — всё через естественный язык.

▫️ LangChain / LangGraph — фреймворки для разработчиков, здесь реализуют ReAct и Multi-agent. Аналитику знать детали необязательно, но понимать структуру — полезно.



AI-агенты — это новый класс систем, которые надо уметь проектировать.

Аналитик, который понимает агентную архитектуру — это уже новый уровень в профессии.


#AI_for_analysts

📱 Tg | 💙 ВК | 💬 Max
Please open Telegram to view this post
VIEW IN TELEGRAM
👍279💯7
🎷 Оркестрация микросервисов: от схемы к требованиям 🎷

Оркестрация – это подход, при котором специальный сервис-оркестратор выступает «дирижёром» для группы микросервисов (МС).

👉 Оркестратор централизованно управляет сложным бизнес-процессом:
1. знает какие сервисы вызвать по API (обычно REST / gRPC)
2. в каком порядке
3. работает с условиями, сложными алгоритмами
4. если что-то пойдёт не так, то он "откатит" операцию на всех МС, которые уже были вызваны

Так сложный процесс превращается в цепочку задач.
А единый центр контроля "Оркестратор" следит за их выполнением.

🔗 Подробная теория



👉 Как работает оркестратор
на примере Интернет-магазина:

1. Покупатель оформляет заказ через Web-приложение.

2. Web-приложение отправляет API-запрос на Backend, в API Gateway.
POST .../orders


3. API Gateway маршрутизирует запрос на Оркестратор.

4. Оркестратор присваивает id новой операции и вызывает API сервиса заказов.

5. Сервис Заказов создает новый заказ в БД.
Результат - в Оркестратор.

6. Оркестратор вызывает сервис Склада, чтобы зарезервировать товар.

7. Склад подтверждает резерв или сообщает об отсутствии товара.
Результат - в Оркестратор.

8. Оркестратор вызывает сервис Доставка для оформления отправления.

9. Сервис доставки рассчитывает маршрут и время доставки, оформляет доставку.
Результат - в Оркестратор.

10. Оркестратор вызывает сервис Уведомлений, чтобы отправить покупателю уведомление (e-mail или SMS) о подтверждении заказа и деталях доставки.

11. Сервис Уведомлений выполняет отправку сообщений.
Результат - в Оркестратор.

12. Оркестратор отправляет итоговый ответ на запрос в API Gateway, откуда он возвращается в Web-приложение.



🔹 Оркестратор вызывает API сервисов и ждёт ответ.
🔹Он может сохранять состояние процесса, чтобы возобновить его при сбое.
🔹 Если что-то идёт не так, оркестратор выполнит компенсации - откатит выполненные шаги. Так что к написанному надо добавлять требования к обработке ошибок.



📦 Популярные решения для оркестрации:
▫️ Camunda – BPM-движок с поддержкой диаграмм процессов (BPMN).
▫️ OpenBPM - аналог Camunda в России.


#АрхитектураGA

📱 Tg | 💙 ВК | 💬 Max
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥123👍1
Ирина пришла к нам, когда уже меняла работу.

То есть не в моменте “когда-нибудь потом пригодится”, а когда новые знания нужны прямо сейчас.

А дальше всё сложилось идеально:
👉 новый проект, Kafka, микросервисы, много систем и взаимодействий.

В такой ситуации архитектура перестаёт быть абстрактной темой “для общего развития”.

Она становится способом быстрее понять новую систему: какие сервисы за что отвечают, потоки данных, связи, почему изменение в одном месте может внезапно "стрельнуть" в другом.


👉 Особенно ценно видеть, как человек в момент смены работы берёт задачи сложнее, и постепенно чувствует себя увереннее на новом уровне.


Ирина, спасибо за доверие и удачи на новом месте! 💜

#студентыGetAnalyst

📱 Tg | 💙 ВК | 💬 Max
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4💯2
🔔 Сегодня закрываем доступ к практикуму по микросервисной архитектуре 🔔

Если в проектах вы уже слышите Kafka, RabbitMQ, события, оркестрация, но пока не всегда понимаете, как это превращается в требования и архитектурные схемы, то этот урок стоит посмотреть сегодня.


🧡 Хореография и оркестрация микросервисов

🕘 За ~4 часа разберёте,
как проектировать процессы в микросервисной архитектуре и показывать взаимодействие сервисов на схемах.

👉 Что внутри:
1️⃣ Монолит и микросервисы
2️⃣ Разработка схемы архитектуры
3️⃣ Оркестрация: практика
4️⃣ RabbitMQ и Kafka
5️⃣ Хореография: практика

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

🔗 Забрать бесплатный доступ*

*Если уже регистрировались — письмо с доступом на почте. Если письмо не нашли, можно зарегистрироваться повторно.



👉 Это полноформатный вводный урок к программе Проектирование архитектуры для СА.

Бесплатный урок даёт вводную практику и глубокое понимание отдельной темы.
А на основной программе будем собирать архитектурное мышление системно: от схем до решений, которые можно защищать перед командой.

🚀 Узнать о курсе по Архитектуре для СА



Вопросы? Пишите @getanalyst 🤝

—-
P.S. За обратную связь огромнейшая признательность, очень ценю 💖
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥85
GetAnalyst_Оркестрация_микросервисов_пример_для_ParkingGA.png
1.3 MB
🤩 Оркестрация и API Gateway разбор реального примера 🤩

Разбираемся, как в реальной жизни работают оркестрация и API Gateway на примере системы для парковок #ParkingGA.

Для этого погружаемся в детали
👉 процесса завершения парковки,
когда после распознавания гос. номера автомобиля на выезде с парковки нужно:
✔️ проверить наличие авто в черном списке,
✔️ рассчитать стоимость парковки,
✔️ проверить, есть ли абонемент для оплаты,
✔️ списать средства с электронного кошелька,
✔️ сформировать чек,
✔️ отправить уведомления.


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

Поэтому для его обслуживания прекрасно подходит стратегия с Оркестрацией.


⚖️ Когда нужен оркестратор?

Бизнес-процесс охватывает много микросервисов и нужна централизованная координация их взаимодействия (иначе эта логика разрозненно реализуется в нескольких сервисах).

Процесс сложный или длительный, требующий надёжности (сохранение состояния, повторы, откаты по шаблону Saga).

Задача проста и укладывается в прямые вызовы пары сервисов (либо реализуется внутри одного микросервиса).

Вы используете хореографию событий (event-driven architect, брокеры), где микросервисы обрабатывают события.

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


И, конечно, на схеме есть API Gateway, который при приёме запроса от клиента:
🔹 проверяет авторизацию запроса,
🔹 понимает, куда перенаправить обработку запроса в зависимости от API-метода: напрямую в микросервис или в оркестратор, если это сложный процесс.



👉 Изучайте схему архитектуры, прикрепленную к посту, и описанный по шагам алгоритм к ней.


📚 Связанные материалы:
API Gateway
Оркестрация


Сохраняйте в избранное ♥️
Можете использовать этот пример, если вас попросят рассказать про оркестрацию на собеседовании 🤝


#АрхитектураGA

📱 Tg | 💙 ВК | 💬 Max
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍6
This media is not supported in your browser
VIEW IN TELEGRAM
API Gateway = точка отказа?

Отличный вопрос, который могут задать на собеседовании.

Ответ:
Да — если он не масштабирован горизонтально.


Если на сервере развернут единственный инстанс (установленная копия) API Gateway и он выйдет из строя, работа всех клиентов, которые в него обращаются, остановится.

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


Что будет, если API Gateway «упадёт»?
1. Внешние клиенты потеряют доступ к сервисам.
2. Внутренние вызовы (если они идут через Gateway) тоже могут быть нарушены.
3. В логах вы увидите HTTP 502 / 503 ошибки (Bad Gateway / Service Unavailable).
4. Мониторинг начнёт фиксировать обрыв соединения и рост ошибок. Это будет сложно не заметить 🥲


👉 Как это решается?
Чтобы API Gateway не стал "узким горлышком", применяют следующие решения:

🟢 Горизонтальное масштабирование
Несколько инстансов API Gateway, развернутых за балансировщиком нагрузки. Тогда при сбое одного — остальные продолжают обслуживать запросы.

🟢 Health-check и авто-рестарт
Kubernetes и другие оркестраторы позволяют перезапускать поды/контейнеры при сбое.

🟢 Failover-механизмы
Некоторые решения "из коробки" поддерживают автоматическое переключение между инстансами при сбоях.

🟢 Разделение входящего трафика
В больших системах могут использовать несколько API Gateway по зонам или типам трафика (например, публичный API и внутренний API)


Несмотря на сбой API Gateway, внутренние сервисы продолжают жить, поэтому, если они не делают обратные вызовы в API Gateway для обращения в другие сервисы, то все начатые цепочки транзакций (запросов) будут выполнены.

Т.е. данные не теряются, процессы продолжаются.


API Gateway - потенциальная точка отказа в системе?

👉 Да

Но при нормальной инфраструктуре не должен быть ею. Мы разбираем это на программе по архитектуре. Это часть про стык Инфраструктуры и Архитектуры, который важно осознавать аналитикам.

#АрхитектураGA

📱 Tg | 💙 ВК | 💬 Max
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥159
🟡 Оптимизация БД. Работа с индексами [15 июня, 19:00 Мск] 🟡

В требованиях это выглядит просто:
▫️ добавить поиск
▫️ сделать фильтр по статусу
▫️ отсортировать по дате
▫️ собрать отчёт за период

А потом внезапно оказывается, что запрос на “просто список” ходит в БД слишком долго, API долго отвечает, а задача превращается в разговор про оптимизацию.

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


На следующей неделе на практике разберём:

1️⃣ как нефункциональные требования связаны с БД
2️⃣ что такое индексы и зачем они нужны
3️⃣ знакомство с БД проекта и определение таблиц с индексами
4️⃣ почему избыточная оптимизация может навредить
5️⃣ как учитывать индексы в постановке задачи на разработку



🟡 Оптимизация БД. Работа с индексами

🗓 15 июня, 19:00 Мск (пн)
Онлайн-практика

Видеоуроки для подготовки

👉 Узнать подробнее и записаться
(от 1 450 руб)

До встречи онлайн!


Вопросы? Пишите @getanalyst 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
11