🔲 Про брокер Kafka 🔲
Kafka — это:
1. Брокер сообщений: Kafka позволяет приложениям обмениваться данными, как через очереди сообщений.
2. Платформа потоковой обработки: Она не только пересылает данные, но и позволяет обрабатывать их в реальном времени.
3. Хранилище событий: Kafka может сохранять данные длительное время, что делает её подходящей для анализа и аудита.
👉 Kafka состоит из следующих ключевых компонентов:
◽️ Producer (Производитель)
Приложение, которое отправляет данные (сообщения) в Kafka.
Пример: Сервис интернет-магазина отправляет данные о новых заказах.
◽️ Broker (Брокер)
Узел (сервер) в кластере Kafka, который обрабатывает сообщения.
В кластере может быть несколько брокеров, чтобы обеспечить масштабируемость и отказоустойчивость.
◽️ Topic (Топик)
Логическое место, куда отправляются сообщения.
Сообщения в топике упорядочены и распределены по разделам (partitions).
◽️ Partition (Раздел)
Каждый топик делится на разделы (partitions).
Сообщения в разделе упорядочены (по времени или оффсету).
◽️ Consumer (Потребитель)
Приложение, которое читает данные из топика.
Может быть несколько потребителей, объединённых в группы.
◽️ ZooKeeper (или KRaft)
Система координации, которая управляет метаданными Kafka. В новых версиях ZooKeeper заменён на собственный механизм KRaft.
👉 Особенности Kafka
➕ Высокая производительность: Kafka может обрабатывать миллионы сообщений в секунду.
➕ Масштабируемость: Кластер Kafka можно масштабировать, добавляя новые брокеры.
➕ Долговременное хранение:
Сообщения сохраняются в Kafka на заданное время или пока не удалены вручную.
➕ Устойчивость к сбоям:
Репликация разделов (partitions) между брокерами обеспечивает отказоустойчивость.
#АрхитектураGA
Продолжение завтра 👇
Kafka — это:
1. Брокер сообщений: Kafka позволяет приложениям обмениваться данными, как через очереди сообщений.
2. Платформа потоковой обработки: Она не только пересылает данные, но и позволяет обрабатывать их в реальном времени.
3. Хранилище событий: Kafka может сохранять данные длительное время, что делает её подходящей для анализа и аудита.
👉 Kafka состоит из следующих ключевых компонентов:
◽️ Producer (Производитель)
Приложение, которое отправляет данные (сообщения) в Kafka.
Пример: Сервис интернет-магазина отправляет данные о новых заказах.
◽️ Broker (Брокер)
Узел (сервер) в кластере Kafka, который обрабатывает сообщения.
В кластере может быть несколько брокеров, чтобы обеспечить масштабируемость и отказоустойчивость.
◽️ Topic (Топик)
Логическое место, куда отправляются сообщения.
Сообщения в топике упорядочены и распределены по разделам (partitions).
◽️ Partition (Раздел)
Каждый топик делится на разделы (partitions).
Сообщения в разделе упорядочены (по времени или оффсету).
◽️ Consumer (Потребитель)
Приложение, которое читает данные из топика.
Может быть несколько потребителей, объединённых в группы.
◽️ ZooKeeper (или KRaft)
Система координации, которая управляет метаданными Kafka. В новых версиях ZooKeeper заменён на собственный механизм KRaft.
👉 Особенности Kafka
➕ Высокая производительность: Kafka может обрабатывать миллионы сообщений в секунду.
➕ Масштабируемость: Кластер Kafka можно масштабировать, добавляя новые брокеры.
➕ Долговременное хранение:
Сообщения сохраняются в Kafka на заданное время или пока не удалены вручную.
➕ Устойчивость к сбоям:
Репликация разделов (partitions) между брокерами обеспечивает отказоустойчивость.
#АрхитектураGA
Продолжение завтра 👇
👍41❤12🔥10
👉 Алгоритм работы Kafka
1. Producer отправляет сообщение в определённый топик, разделы которого распределены по брокерам.
2. Kafka сохраняет сообщение.
Сообщение записывается в раздел топика и сохраняется на диске.
3. Consumer подключается к Kafka, выбирает топик и читает сообщения из нужного раздела.
👉 Kafka поддерживает несколько моделей доставки:
+ Сообщение доставляется максимум один раз.
+ Сообщение может быть доставлено несколько раз (с гарантией доставки).
+ Сообщение доставляется ровно один раз.
👉 Примеры использования Kafka:
Финансовые транзакции
1. Банковские системы отправляют транзакции в Kafka.
2. Сервисы банка получают и обрабатывают транзакции в реальном времени с высокой степенью надежности.
Централизованная система уведомлений
1. Разные сервисы системы отправляют уведомления в Kafka.
2. Отдельные сервис Уведомлений получает их для отправки email, SMS и push через интеграции.
👉 Проблемы Kafka
➖ Нуждается в хорошей настройке (особенно при больших объёмах данных).
➖ Не всегда оптимальна для задач с малым количеством данных.
👉 Почему выбирают
Kafka выделяется среди других решений по брокерам благодаря своей надёжности и способности обрабатывать огромные объёмы данных. Это делает её оптимальным выбором для высоконагруженных систем.
🔎 Я только начинаю знакомство с Kafka? Что делать?
Я бы рекомендовала начать с изучения официальной документации Kafka (не стесняемся пользоваться Google Translate или ChatGPT для переводов) или книги Kafka Streams в действии.
#АрхитектураGA
1. Producer отправляет сообщение в определённый топик, разделы которого распределены по брокерам.
2. Kafka сохраняет сообщение.
Сообщение записывается в раздел топика и сохраняется на диске.
3. Consumer подключается к Kafka, выбирает топик и читает сообщения из нужного раздела.
👉 Kafka поддерживает несколько моделей доставки:
+ Сообщение доставляется максимум один раз.
+ Сообщение может быть доставлено несколько раз (с гарантией доставки).
+ Сообщение доставляется ровно один раз.
👉 Примеры использования Kafka:
Финансовые транзакции
1. Банковские системы отправляют транзакции в Kafka.
2. Сервисы банка получают и обрабатывают транзакции в реальном времени с высокой степенью надежности.
Централизованная система уведомлений
1. Разные сервисы системы отправляют уведомления в Kafka.
2. Отдельные сервис Уведомлений получает их для отправки email, SMS и push через интеграции.
👉 Проблемы Kafka
➖ Нуждается в хорошей настройке (особенно при больших объёмах данных).
➖ Не всегда оптимальна для задач с малым количеством данных.
👉 Почему выбирают
Kafka выделяется среди других решений по брокерам благодаря своей надёжности и способности обрабатывать огромные объёмы данных. Это делает её оптимальным выбором для высоконагруженных систем.
🔎 Я только начинаю знакомство с Kafka? Что делать?
Я бы рекомендовала начать с изучения официальной документации Kafka (не стесняемся пользоваться Google Translate или ChatGPT для переводов) или книги Kafka Streams в действии.
#АрхитектураGA
👍31❤10❤🔥3👏1😁1
GetAnalyst Kafka примеры использования.pdf
7 MB
👀 Пример использования Kafka в #FarmFreshGA 👀
На примере реальных задач давайте разберемся, как можно использовать брокер Kafka для асинхронного взаимодействия - фонового выполнения задач.
Примеры:
1. SMS после регистрации пользователя
2. фоновые задачи после оплаты заказа
Алгоритмы с картинками в прикрепленном файле 🤝
#АрхитектураGA
На примере реальных задач давайте разберемся, как можно использовать брокер Kafka для асинхронного взаимодействия - фонового выполнения задач.
Примеры:
1. SMS после регистрации пользователя
2. фоновые задачи после оплаты заказа
Алгоритмы с картинками в прикрепленном файле 🤝
#АрхитектураGA
👍26❤5🔥2
📚 Моделирование архитектуры в нотации С4 📚
Можешь показать схему архитектуры системы без нотации, в виде прямоугольников и стрелочек? Отлично! Первый шаг к пониманию работы системы сделан.
Но если мы работаем со сложной архитектурой, то в некоторых моментах будут вопросы, и автора "картины" можно понять по-разному.
Если в отрасли есть стандарты, лучше использовать их.
Поэтому предлагаю познакомиться с нотацией C4, где есть несколько уровней описания системы, которые помогают понять её 🙂
📚C4 - нотация моделирования архитектуры, которая упрощает визуализацию сложных систем.
Она помогает архитекторам, разработчикам и системным аналитикам представлять архитектуру в виде четырех абстракций:
👉 Контекст (C4 / Context) - система, её интеграции и пользователи.
👉 Контейнеры (C4 / Container) - независимые по коду приложения внутри системы, детализация главного прямоугольника c C4 / Context.
👉 Компоненты (C4 / Component) - модули кода и зависимости между ними, детализирует один из контейнеров с C4 / Container.
👉 Код (C4 / Code) - описывает реализацию кода для конкретных компонентов системы, детализирует C4 / Component.
Материалы для быстрого самостоятельного изучения C4:
🔗 Официальный сайт C4 (англ)
🔗 Шаблон с примером архитектуры в Miro
🔗 Нотация моделирования архитектуры С4 — примеры диаграмм и инструменты
#АрхитектураGA
Можешь показать схему архитектуры системы без нотации, в виде прямоугольников и стрелочек? Отлично! Первый шаг к пониманию работы системы сделан.
Но если мы работаем со сложной архитектурой, то в некоторых моментах будут вопросы, и автора "картины" можно понять по-разному.
Если в отрасли есть стандарты, лучше использовать их.
Поэтому предлагаю познакомиться с нотацией C4, где есть несколько уровней описания системы, которые помогают понять её 🙂
📚C4 - нотация моделирования архитектуры, которая упрощает визуализацию сложных систем.
Она помогает архитекторам, разработчикам и системным аналитикам представлять архитектуру в виде четырех абстракций:
👉 Контекст (C4 / Context) - система, её интеграции и пользователи.
👉 Контейнеры (C4 / Container) - независимые по коду приложения внутри системы, детализация главного прямоугольника c C4 / Context.
👉 Компоненты (C4 / Component) - модули кода и зависимости между ними, детализирует один из контейнеров с C4 / Container.
👉 Код (C4 / Code) - описывает реализацию кода для конкретных компонентов системы, детализирует C4 / Component.
Материалы для быстрого самостоятельного изучения C4:
🔗 Официальный сайт C4 (англ)
🔗 Шаблон с примером архитектуры в Miro
🔗 Нотация моделирования архитектуры С4 — примеры диаграмм и инструменты
#АрхитектураGA
👍31🔥8❤5⚡3👏1
🔵 Sructurizr - один из основных инструментов, который позволяет создавать схемы архитетуры в нотации C4 через код 🔵
В этой статье я показывала примеры кода для одного из демо-проектов, которые ранее разбирались в канале GetAnalyst.
P.S. В нем уровень контейнеров для Backend у меня упрощен.
Сейчас я хочу предложить вам познакомиться с архитектурой в C4 и кодом Sructurizr для проекта #FarmFreshGA и посмотреть на пару уровней, согласно официальным требованиям нотации по визуализации архитектуры.
👉 Уровень Контекст (C4 / Context)
Система, её интеграции и пользователи.
✔️ Главный прямоугольник - наша система
✔️ Серые прямоугольники вокруг - внешние системы
✔️ Пользователи
👩💻 Полезна бизнес- и техническим специалистам.
👉 Контейнеры (C4 / Container)
Независимые по коду приложения внутри системы, детализация главного прямоугольника c C4 / Context.
✔️ Пользователи и внешние системы с уровня C4 / Context
✔️ Мобильные, веб- и десктоп приложения
✔️ Сервер-приложения: монолит, сервисы, микросервисы, API Gateway
✔️ Базы данных и файловые хранилища
✔️ Виды API
✔️ Технологии (языки программирования, СУБД, протоколы для API и др)
✔️ Базы данных и файловые хранилища
✔️ Очереди и брокеры
Схему удобнее использовать в адаптированном виде, когда на этом уровне не показывают сервисы и микросервисы, а переносят их на уровень глубже - C4 / Component. Иначе она очень перегружена.
👩💻 Полезна архитекторам, разработчикам и системным аналитикам.
Схемы в виде скрина из Structurizr прикрепрены к посту.
Исходный код для вставки в Structurizr:
🔗 ссылка на файл с кодом
#АрхитектураGA
В этой статье я показывала примеры кода для одного из демо-проектов, которые ранее разбирались в канале GetAnalyst.
P.S. В нем уровень контейнеров для Backend у меня упрощен.
Сейчас я хочу предложить вам познакомиться с архитектурой в C4 и кодом Sructurizr для проекта #FarmFreshGA и посмотреть на пару уровней, согласно официальным требованиям нотации по визуализации архитектуры.
👉 Уровень Контекст (C4 / Context)
Система, её интеграции и пользователи.
✔️ Главный прямоугольник - наша система
✔️ Серые прямоугольники вокруг - внешние системы
✔️ Пользователи
👩💻 Полезна бизнес- и техническим специалистам.
👉 Контейнеры (C4 / Container)
Независимые по коду приложения внутри системы, детализация главного прямоугольника c C4 / Context.
✔️ Пользователи и внешние системы с уровня C4 / Context
✔️ Мобильные, веб- и десктоп приложения
✔️ Сервер-приложения: монолит, сервисы, микросервисы, API Gateway
✔️ Базы данных и файловые хранилища
✔️ Виды API
✔️ Технологии (языки программирования, СУБД, протоколы для API и др)
✔️ Базы данных и файловые хранилища
✔️ Очереди и брокеры
Схему удобнее использовать в адаптированном виде, когда на этом уровне не показывают сервисы и микросервисы, а переносят их на уровень глубже - C4 / Component. Иначе она очень перегружена.
👩💻 Полезна архитекторам, разработчикам и системным аналитикам.
Схемы в виде скрина из Structurizr прикрепрены к посту.
Исходный код для вставки в Structurizr:
#АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25❤4
Forwarded from 👩🏻💻 Подкаст Системных Аналитиков | GetAnalyst
💚 DDD и Event Storming - архитектура для системного аналитика 💚
В этом эпизоде мы рассказываем об архитектуре систем, а именно о двух мощных инструментах, которые могут существенно изменить подход системного аналитика к проектированию сложных систем: Domain Driven Design (DDD) и Event Storming.
Мы обсудим, почему эти подходы становятся всё более популярными, как их правильно применять и каких ошибок стоит избегать. Вы узнаете, как Event Storming помогает разложить сложные процессы на отдельные события, почему это важно для проектирования архитектуры и как использовать эти инструменты в новых проектах и при пересмотре существующих решений.
🔗 Сайт эпизода
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ YouTube
⏯ Telegram
⏯ Castbox
⏯ Spotify
Следите за подкастом, чтобы регулярно получать новый опыт и знания в системном анализе 😉
В этом эпизоде мы рассказываем об архитектуре систем, а именно о двух мощных инструментах, которые могут существенно изменить подход системного аналитика к проектированию сложных систем: Domain Driven Design (DDD) и Event Storming.
Мы обсудим, почему эти подходы становятся всё более популярными, как их правильно применять и каких ошибок стоит избегать. Вы узнаете, как Event Storming помогает разложить сложные процессы на отдельные события, почему это важно для проектирования архитектуры и как использовать эти инструменты в новых проектах и при пересмотре существующих решений.
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ YouTube
⏯ Telegram
⏯ Castbox
⏯ Spotify
Следите за подкастом, чтобы регулярно получать новый опыт и знания в системном анализе 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24❤4👍2🤔1
Так сложилось, что день рождения у меня перед Новым годом. Ровно за неделю до него.
Новый год жизни, новый год в календаре. Это всегда время подведения итогов и постановки новых целей.
Обычно я подвожу черту 31 декабря.
Это отдельная задача в плане:
- в полном одиночестве,
- 2-3 часа с ручкой и тетрадкой в руках,
- проверяю достижения по записанным в неё целям и пишу новые.
А вот в день рождения я почти всегда работаю.
Минимум 4 часа, а иногда и все 10.
Но в этом году я хочу сделать что-то иначе — устроить небольшой отпуск.
Не на 100%, но хотя бы его подобие.
Хочу отдохнуть и отпраздновать день рождения.
Хочу сначала набраться сил, а потом подводить итоги прошедшего года и ставить новые цели.
Мне нужна перезарядка. Я хочу войти в Новый год радостной и счастливой.
Только так я смогу сделать еще больше для себя и для вас.
Поэтому с 25 декабря по 8 января я в отпуске🎄
Но... В этом году я всё же планирую выйти к вам в прямой эфир. У меня есть идея практикума по интеграциям, а также эпизод подкаста, где я расскажу о самой популярной задаче на собеседованиях для системных аналитиков. Ну и, конечно, посты на время отпуска сами себя не напишут...
Поэтому в ближайшие две недели буду работать на мощности х4, чтобы успеть всё до 25 декабря.
На предстоящей неделе будут три важных анонса.
И я буду очень рада, если вы поддержите мой отпуск ❤️🔥🦄 под постом.
Берегите и цените себя.
Вы — самый важный человек в своей жизни.
Если чувствуете усталость и нуждаетесь в перезагрузке, позвольте себе отдохнуть. Это действительно важно.
Мы все хотим быть лучшей версией себя и успевать больше.
Но чтобы двигаться вперёд, иногда нужно остановиться и сделать паузу 🙌
Новый год жизни, новый год в календаре. Это всегда время подведения итогов и постановки новых целей.
Обычно я подвожу черту 31 декабря.
Это отдельная задача в плане:
- в полном одиночестве,
- 2-3 часа с ручкой и тетрадкой в руках,
- проверяю достижения по записанным в неё целям и пишу новые.
А вот в день рождения я почти всегда работаю.
Минимум 4 часа, а иногда и все 10.
Но в этом году я хочу сделать что-то иначе — устроить небольшой отпуск.
Не на 100%, но хотя бы его подобие.
Хочу отдохнуть и отпраздновать день рождения.
Хочу сначала набраться сил, а потом подводить итоги прошедшего года и ставить новые цели.
Мне нужна перезарядка. Я хочу войти в Новый год радостной и счастливой.
Только так я смогу сделать еще больше для себя и для вас.
Поэтому с 25 декабря по 8 января я в отпуске
Но... В этом году я всё же планирую выйти к вам в прямой эфир. У меня есть идея практикума по интеграциям, а также эпизод подкаста, где я расскажу о самой популярной задаче на собеседованиях для системных аналитиков. Ну и, конечно, посты на время отпуска сами себя не напишут...
Поэтому в ближайшие две недели буду работать на мощности х4, чтобы успеть всё до 25 декабря.
На предстоящей неделе будут три важных анонса.
И я буду очень рада, если вы поддержите мой отпуск ❤️🔥🦄 под постом.
Берегите и цените себя.
Вы — самый важный человек в своей жизни.
Если чувствуете усталость и нуждаетесь в перезагрузке, позвольте себе отдохнуть. Это действительно важно.
Мы все хотим быть лучшей версией себя и успевать больше.
Но чтобы двигаться вперёд, иногда нужно остановиться и сделать паузу 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
❤107🔥35🦄20👍3🎉3😁1👌1
GetAnalyst_Интеграции_мини_книга_для_БА_и_СА.pdf
10.7 MB
Интеграция — это процесс объединения разных систем и приложений, чтобы они могли работать вместе, обмениваться данными и выполнять задачи, как единая система.
Пример:
Если эти системы не связаны между собой, то сотрудники вынуждены вручную выполнять множество задач, связанных с общим учетом заказов и передачей их на кухню для приготовления.
В общем много ручной работы, в которой может быть очень много ошибок 🥲
Интеграция систем решает эту проблему, связывая их так, чтобы они автоматически обменивались информацией и выполняли общие задачи.
Основные способы интеграции:
▫️ API и Библиотеки
▫️ Очереди сообщений и брокеры
▫️ Файлы
▫️ Общая БД
📚 Подробнее о том, что такое интеграции и какие они бывают, рассказала в мини-книге с картинками и примерами.
Файл прикреплен к посту.
Загружайте и погружайтесь в тему глубже 🧩
#ИнтеграцииGA
Пример:
Представим ресторан, где работают несколько отдельных систем:
🔹 для обработки заказов кухней и управления данными об остатках продуктов в ресторане,
🔹 для приема заказов внутри ресторана и проведения оплаты за них,
🔹 для приема заказов на доставку.
Если эти системы не связаны между собой, то сотрудники вынуждены вручную выполнять множество задач, связанных с общим учетом заказов и передачей их на кухню для приготовления.
Получается, что без интеграций:
1. Официантам и администраторам приходится вручную передавать данные между системами, чтобы учесть все заказы и передать их на кухню для приготовления.
2. Заказы на доставку при ручном переносе могут путать с заказами в зале, из-за чего доставка задерживается или блюда уходят не тем клиентам.
3. При получении каждого готового заказа с кухни на доставку, надо вручную отмечать готовность заказа в системе доставки.
4. Тяжело оценивать загруженность кухни из-за отсутствия общих данных по заказам в зале и на доставку. Нет возможности сразу сообщить тем, кто заказывает доставку онлайн, что в "час-пик" время ожидания заказа будет увеличено.
В общем много ручной работы, в которой может быть очень много ошибок 🥲
Интеграция систем решает эту проблему, связывая их так, чтобы они автоматически обменивались информацией и выполняли общие задачи.
Основные способы интеграции:
▫️ API и Библиотеки
▫️ Очереди сообщений и брокеры
▫️ Файлы
▫️ Общая БД
📚 Подробнее о том, что такое интеграции и какие они бывают, рассказала в мини-книге с картинками и примерами.
Файл прикреплен к посту.
Загружайте и погружайтесь в тему глубже 🧩
#ИнтеграцииGA
❤25🔥14👍2
🥳 Новый проект #EventTasksGA: разбор интеграционной задачи для собеседований на СА 🥳
Интеграции - одна из самых актуальных и важных тем для системных аналитиков.
На собеседованиях этот навык проверяют по-разному: задают теоретические вопросы или дают практическую задачу, чтобы оценить глубину знаний и умение применять их на практике.
В этом месяце мы будем разбирать задачу, которая проверяет знания системного аналитика на все 100%: насколько он понимает интеграционные процессы и умеет работать с такими задачами.
🟢 Задача на Интеграцию:
Платформа для заказа организации мероприятий #EventTasksGA.
🟢 Процесс:
1. Клиент оформляет заказ.
2. Заказ, оформленный через сайт или мобильное приложение, обрабатывается менеджером в CRM-системе платформы.
3. Менеджер вручную создает проект в таск-трекере Todoist, где формируется стандартный набор задач в зависимости от тарифа и вида мероприятия.
4. После завершения мероприятия формируется акт выполненных работ.
🟢 Нужно автоматизировать:
1. При поступлении заказа автоматически создавать проект в Todoist и задачи по нему.
2. Автоматически назначать ответственного организатора за проект.
3. Передавать информацию о выполнении проекта в основную платформу, чтобы на ее основе формировался акт выполненных работ.
🟢 Задачи системного аналитика:
1. Спланировать работы по интеграции с системой Todoist.
2. Показать архитектуру решения.
3. Описать логику работы: автоматическое создание проекта и формирование акта выполненных работ.
4. Сформировать требования для REST API-методов, необходимых для интеграции.
🟢 Что дополнительно можно спросить у кандидата на собеседовании:
+ принципы проектирования БД,
+ понимание Backend и Frontend,
+ особенности использования различных API в проекте,
+ понимание принципов асинхронного взаимодействия.
Мы будем последовательно разбирать эту задачу в декабре!
Добро пожаловать в наш новый проект-собеседование!
Чтобы участвовать, достаточно быть подписанными на наш канал и ежедневно следить за обновлениями 😉
#ИнтеграцииGA
Интеграции - одна из самых актуальных и важных тем для системных аналитиков.
На собеседованиях этот навык проверяют по-разному: задают теоретические вопросы или дают практическую задачу, чтобы оценить глубину знаний и умение применять их на практике.
В этом месяце мы будем разбирать задачу, которая проверяет знания системного аналитика на все 100%: насколько он понимает интеграционные процессы и умеет работать с такими задачами.
🟢 Задача на Интеграцию:
Платформа для заказа организации мероприятий #EventTasksGA.
🟢 Процесс:
1. Клиент оформляет заказ.
2. Заказ, оформленный через сайт или мобильное приложение, обрабатывается менеджером в CRM-системе платформы.
3. Менеджер вручную создает проект в таск-трекере Todoist, где формируется стандартный набор задач в зависимости от тарифа и вида мероприятия.
4. После завершения мероприятия формируется акт выполненных работ.
🟢 Нужно автоматизировать:
1. При поступлении заказа автоматически создавать проект в Todoist и задачи по нему.
2. Автоматически назначать ответственного организатора за проект.
3. Передавать информацию о выполнении проекта в основную платформу, чтобы на ее основе формировался акт выполненных работ.
🟢 Задачи системного аналитика:
1. Спланировать работы по интеграции с системой Todoist.
2. Показать архитектуру решения.
3. Описать логику работы: автоматическое создание проекта и формирование акта выполненных работ.
4. Сформировать требования для REST API-методов, необходимых для интеграции.
🟢 Что дополнительно можно спросить у кандидата на собеседовании:
+ принципы проектирования БД,
+ понимание Backend и Frontend,
+ особенности использования различных API в проекте,
+ понимание принципов асинхронного взаимодействия.
Мы будем последовательно разбирать эту задачу в декабре!
Добро пожаловать в наш новый проект-собеседование!
Чтобы участвовать, достаточно быть подписанными на наш канал и ежедневно следить за обновлениями 😉
#ИнтеграцииGA
❤🔥41❤23🔥12👍10
🚀🎁 Открыта запись на Интеграции 🎁🚀
Почти во всех современных системах есть интеграции:
✔️ мобильные приложения обмениваются данными с сервером по API, чтобы сохранять и отображать их пользователям,
✔️ для приема оплаты в приложениях подключают банковские платежные системы,
✔️ микросервисы обмениваются данными между собой.
Можно приводить много примеров.
Поэтому от системных аналитиков требуют знания и опыт в интеграциях, особенно ведущие ИТ-компании рынка.
👉 В программе Интеграции систем мы на практике разбираем все детали проектирования: от анализа API-документации до создания структуры требований и постановок задач на разработчиков.
🗓 Старт предобучения: 25 декабря 2024
🗓 Первая онлайн-встреча: 15 января 2025
🔗 Подробности и регистрация
Вас ждут 10 живых онлайн-встреч, в ходе которых вы не только познакомитесь с теорией, но и примените полученные знания на практике.
Работать будем над одним проектом в течение всей программы, чтобы получить структурированные знания и опыт.
🎁 До 18 декабря дарим дополнительное обучение по БД+SQL в подарок + самые выгодные условия.
А на время новогодних каникул мы распишем для вас план самостоятельного обучения, чтобы вы могли изучать теорию наперед, выполнить первое ДЗ, и лучше подготовиться к первой онлайн-практике.
Хотите узнать больше? Пишите @getanalyst или заполняйте анкету предзаписи на сайте. Мы поможем оценить ваши текущие навыки, пришлем дополнительную информацию и ответим на все вопросы!
Почти во всех современных системах есть интеграции:
✔️ мобильные приложения обмениваются данными с сервером по API, чтобы сохранять и отображать их пользователям,
✔️ для приема оплаты в приложениях подключают банковские платежные системы,
✔️ микросервисы обмениваются данными между собой.
Можно приводить много примеров.
Поэтому от системных аналитиков требуют знания и опыт в интеграциях, особенно ведущие ИТ-компании рынка.
👉 В программе Интеграции систем мы на практике разбираем все детали проектирования: от анализа API-документации до создания структуры требований и постановок задач на разработчиков.
🗓 Старт предобучения: 25 декабря 2024
🗓 Первая онлайн-встреча: 15 января 2025
Вас ждут 10 живых онлайн-встреч, в ходе которых вы не только познакомитесь с теорией, но и примените полученные знания на практике.
Работать будем над одним проектом в течение всей программы, чтобы получить структурированные знания и опыт.
🎁 До 18 декабря дарим дополнительное обучение по БД+SQL в подарок + самые выгодные условия.
А на время новогодних каникул мы распишем для вас план самостоятельного обучения, чтобы вы могли изучать теорию наперед, выполнить первое ДЗ, и лучше подготовиться к первой онлайн-практике.
Хотите узнать больше? Пишите @getanalyst или заполняйте анкету предзаписи на сайте. Мы поможем оценить ваши текущие навыки, пришлем дополнительную информацию и ответим на все вопросы!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4
Интеграции_архитектура_в_С4_EventTasksGA_drawio_png_drawio.png
779.5 KB
🧐 Покажите схему архитектуры 🧐
Этот вопрос на собеседованиях часто будет связан с интеграциями, а не только с проектированием архитектуры.
Его можно услышать на собеседовании для Middle и выше аналитиков в следующих формулировках:
+ Покажите схему архитектуры для этой задачи.
+ Покажите как взаимодействуют системы.
+ Покажите схему компонентов.
Не зная, как решать задачи на интеграцию систем и работать с архитектурой, аналитик спрашивает: "А можно в UML?" и рисует диаграмму последовательности. Это не плохо, но такая диаграмма описывает алгоритм, а не архитектуру 🙄
👉 План действий для ответа на вопрос “покажите как взаимодействуют системы”:
+ Есть ли приложения, которые не показаны?
+ Архитектура проекта: монолит, сервисная или микросервисная?
+ Будем ли использовать брокеры для решения задачи?
+ Есть ли требования к внутренним API? Можно использовать REST?
💎 CR (Cloud-Rectangle - “облака-прямоугольники”) - неофициальная нотация от GetAnalyst, которая помогает с помощью простых фигур показать все приложения и системы.
💎 C4 - официальная нотация для моделирования архитектуры систем.
Если начнёте рисовать в C4, то это может занять чуть больше времени, но ваш будущий работодатель будет в восторге (либо в ужасе, как я, когда кандидаты на моих собеседованиях пытаются применять C4 неверно).
Примеры для #EventTasksGA прикреплены к посту картинками 😎
#ИнтеграцииGA
Этот вопрос на собеседованиях часто будет связан с интеграциями, а не только с проектированием архитектуры.
Его можно услышать на собеседовании для Middle и выше аналитиков в следующих формулировках:
+ Покажите схему архитектуры для этой задачи.
+ Покажите как взаимодействуют системы.
+ Покажите схему компонентов.
Не зная, как решать задачи на интеграцию систем и работать с архитектурой, аналитик спрашивает: "А можно в UML?" и рисует диаграмму последовательности. Это не плохо, но такая диаграмма описывает алгоритм, а не архитектуру 🙄
👉 План действий для ответа на вопрос “покажите как взаимодействуют системы”:
1. Открыть draw.io (или другой удобный инструмент).
2. Знать что такое “
Компоненты системы
” и выделить их в предложенных требованиях.
3. Задать уточняющие вопросы при выделении компонентов.
+ Есть ли приложения, которые не показаны?
+ Архитектура проекта: монолит, сервисная или микросервисная?
+ Будем ли использовать брокеры для решения задачи?
+ Есть ли требования к внутренним API? Можно использовать REST?
4. Выбрать нотацию моделирования:
💎 CR (Cloud-Rectangle - “облака-прямоугольники”) - неофициальная нотация от GetAnalyst, которая помогает с помощью простых фигур показать все приложения и системы.
💎 C4 - официальная нотация для моделирования архитектуры систем.
Если начнёте рисовать в C4, то это может занять чуть больше времени, но ваш будущий работодатель будет в восторге (либо в ужасе, как я, когда кандидаты на моих собеседованиях пытаются применять C4 неверно).
5. Показать схему архитектуры.
Примеры для #EventTasksGA прикреплены к посту картинками 😎
#ИнтеграцииGA
👍20🔥10🤔3❤2😱1
📄 API-документация внешней системы: просим сразу 📄
Вам дали задачу на интеграцию?
👉 Шаг 1. Запрос документации
Аналитик запрашивает:
+ API-документацию (REST API, GraphQL, SOAP API и другие).
+ Комплекты SDK.
+ Другие документы и файлы, необходимые разработчикам для создания кода.
API-документация может быть передана вам в виде ссылке на Postman-коллекцию, Swagger-коллекцию, сайт разработчика, PDF-документ, Word-документ.
Она не всегда есть. И иногда надо "пытать" разработчиков внешней системы в переписке, чтобы получить описание методов API. Всё бывает.
✅ Зачем это нужно?
Только с помощью API-документации мы можем понять как можно взаимодействовать с внешней системой: какие предлагаются методы, данные, процесс интеграции.
👉 Шаг 2. Запрос доступов
Сразу же вместе с документацией можно запрашивать доступы к внешней системе:
+ Тестовые и боевые URL.
+ Логины, пароли и/или токены.
+ Другие необходимые данные для аутентификации и авторизации запросов.
✅ Зачем это нужно?
Документация не всегда отражает, как система работает на практике.
Тестирование API через инструменты как Postman позволяет:
+ Проверить как реально происходит обмен данными.
+ Понять процесс работы внешней системы и её реакцию на некорректные данные.
+ Более точно описать алгоритм взаимодействия.
Без тестовых доступов проверить API не получится.
👉 Подводя итоги:
В реальных проектах на интеграции всегда надо начинать работу с запроса API-документации.
Если в задании на собеседовании по интеграциям есть API-документация, изучите её, а если нет — уточните:
"Есть ли документация API, которая нужна для решения задачи?"
Чаще всего на собеседованиях её не предоставляют для упрощения задачи, но вы должны знать: запрос документации — базовый шаг в работе с интеграциями. Упомянуть об этом на собеседовании — значит показать, что вы понимаете процессы и готовы работать с реальными проектами.
#ИнтеграцииGA
Вам дали задачу на интеграцию?
Первое, что нужно сделать, — запросить API-документацию внешней системы и доступы к ней.
👉 Шаг 1. Запрос документации
Аналитик запрашивает:
+ API-документацию (REST API, GraphQL, SOAP API и другие).
+ Комплекты SDK.
+ Другие документы и файлы, необходимые разработчикам для создания кода.
API-документация может быть передана вам в виде ссылке на Postman-коллекцию, Swagger-коллекцию, сайт разработчика, PDF-документ, Word-документ.
Она не всегда есть. И иногда надо "пытать" разработчиков внешней системы в переписке, чтобы получить описание методов API. Всё бывает.
✅ Зачем это нужно?
Только с помощью API-документации мы можем понять как можно взаимодействовать с внешней системой: какие предлагаются методы, данные, процесс интеграции.
👉 Шаг 2. Запрос доступов
Сразу же вместе с документацией можно запрашивать доступы к внешней системе:
+ Тестовые и боевые URL.
+ Логины, пароли и/или токены.
+ Другие необходимые данные для аутентификации и авторизации запросов.
✅ Зачем это нужно?
Документация не всегда отражает, как система работает на практике.
Тестирование API через инструменты как Postman позволяет:
+ Проверить как реально происходит обмен данными.
+ Понять процесс работы внешней системы и её реакцию на некорректные данные.
+ Более точно описать алгоритм взаимодействия.
Без тестовых доступов проверить API не получится.
👉 Подводя итоги:
В реальных проектах на интеграции всегда надо начинать работу с запроса API-документации.
Если в задании на собеседовании по интеграциям есть API-документация, изучите её, а если нет — уточните:
"Есть ли документация API, которая нужна для решения задачи?"
Чаще всего на собеседованиях её не предоставляют для упрощения задачи, но вы должны знать: запрос документации — базовый шаг в работе с интеграциями. Упомянуть об этом на собеседовании — значит показать, что вы понимаете процессы и готовы работать с реальными проектами.
#ИнтеграцииGA
🔥28👍9💯6❤3
Хотя REST API давно стал стандартом для интеграций систем и вопросов на собеседованиях, всё чаще встречаются проекты с использованием GraphQL и gRPC, которые предлагают больше гибкости, скорости и возможностей.
И если вы еще неуверенно понимаете REST API, разобраться в более сложных API будет ещё труднее.
Чтобы передать вам практический опыт работы с API, мы готовим для вас уникальный вебинар:
За один вечер:
🟢 Поймёте что такое интеграции и как с ними работать.
🟢 Получите базовые знания по REST API, GraphQL и gRPC, и понимание, как применить их в работе системного аналитика
🟢 Освоите инструмент тестирования API Postman.
🟢 Самостоятельно будете проверять методы REST API, GraphQL и gRPC в прямом эфире.
Готовы освоить REST API, GraphQL и gRPC + Postman + Интеграции?
Регистрируйтесь и подключайтесь онлайн в следующую среду!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32❤9
✅ Краткий чек-лист по работе с задачами на интеграции ✅
Я рассказала про первые шаги работы с задачами на интеграции.
А от вас требуется знать все шаги, то есть спланировать работу по интеграции систем.
Хочу поделиться с вами пошаговой инструкцией, описывающей этот процесс. Пусть она станет помощником для системных аналитиков, бизнес-аналитиков и разработчиков при проектировании интеграций для любых систем.
Краткий чек-лист по работе с задачами на интеграции:
✅ Получить вводные от заказчика
✅ Выделить компоненты системы: внешние, внутренние
✅ Найти API-документацию для каждого из внешних сервисов, а если необходимо, то и для внутренних
✅ Нарисовать схему архитектуры — первое приближение
☑️ Описать процессы, которые нужно поддержать в системе
☑️ Найти по API-документации соответствующие процессам методы, добавить их в описание
☑️ Уточнить схему архитектуры (и далее постоянно актуализировать по ходу детального проектирования и постановок задач)
☑️ Получить доступы к API
☑️ Протестировать API своими силами или с помощью разработчиков
☑️ Сопоставить наборы данных, доработать/спроектировать БД нашей системы при необходимости, описать маппинг данных
☑️ Создать задачи в Jira и выстроить порядок разработки
☑️ Сделать детализацию постановок задач в Confluence на основе исследований, проведенных ранее
👉 Полный пошаговый план работы с задачами на интеграции доступен по этой ссылке.
#ИнтеграцииGA
Я рассказала про первые шаги работы с задачами на интеграции.
А от вас требуется знать все шаги, то есть спланировать работу по интеграции систем.
Системный аналитик должен уметь рассказывать про свой процесс работы с задачами на интеграции: от момента получения требований до создания задач на разработку.
Хочу поделиться с вами пошаговой инструкцией, описывающей этот процесс. Пусть она станет помощником для системных аналитиков, бизнес-аналитиков и разработчиков при проектировании интеграций для любых систем.
Краткий чек-лист по работе с задачами на интеграции:
✅ Получить вводные от заказчика
✅ Выделить компоненты системы: внешние, внутренние
✅ Найти API-документацию для каждого из внешних сервисов, а если необходимо, то и для внутренних
✅ Нарисовать схему архитектуры — первое приближение
☑️ Описать процессы, которые нужно поддержать в системе
☑️ Найти по API-документации соответствующие процессам методы, добавить их в описание
☑️ Уточнить схему архитектуры (и далее постоянно актуализировать по ходу детального проектирования и постановок задач)
☑️ Получить доступы к API
☑️ Протестировать API своими силами или с помощью разработчиков
☑️ Сопоставить наборы данных, доработать/спроектировать БД нашей системы при необходимости, описать маппинг данных
☑️ Создать задачи в Jira и выстроить порядок разработки
☑️ Сделать детализацию постановок задач в Confluence на основе исследований, проведенных ранее
👉 Полный пошаговый план работы с задачами на интеграции доступен по этой ссылке.
#ИнтеграцииGA
❤30⚡7🤩7👍4
GetAnalyst_Как_читать_API_документацию_Инструкция.pdf
3.1 MB
👀 Как читать API-документацию: пошаговая инструкция с примерами 👀
В задании по интеграциям на собеседовании вам скорее всего не дадут API-документацию. Это нормально, что в тестовых дают несколько названий методов внешних систем в формате POST /users и всё. Время ограничено.
А вот в реальной работе с интеграциями порой приходится анализировать достаточно большие документы. Аналитику важно уметь быстро читать их и разбираться с содержимым.
На примере интеграции по проекту #EventTasksGA, где нужно автоматически создавать задачи по организации нового мероприятия во внешней системе Todoist, разберёмся, как анализировать API-документацию.
API-документация для анализа:
🔗 https://developer.todoist.com/rest/v2/#getting-started
Действия аналитика:
Шаг 1. Найти и посмотреть оглавление
Шаг 2. Авторизация и аутентификация
Шаг 3. Тестовые доступы
Шаг 4. Рекомендации по использованию
Шаг 5. Общие требования к обработке ошибок
Шаг 6. Список методов для интеграции
Подробный разбор шагов с примеров в прикрепленной мини-книге 🤝
#ИнтеграцииGA
В задании по интеграциям на собеседовании вам скорее всего не дадут API-документацию. Это нормально, что в тестовых дают несколько названий методов внешних систем в формате POST /users и всё. Время ограничено.
А вот в реальной работе с интеграциями порой приходится анализировать достаточно большие документы. Аналитику важно уметь быстро читать их и разбираться с содержимым.
На примере интеграции по проекту #EventTasksGA, где нужно автоматически создавать задачи по организации нового мероприятия во внешней системе Todoist, разберёмся, как анализировать API-документацию.
API-документация для анализа:
Действия аналитика:
Шаг 1. Найти и посмотреть оглавление
Шаг 2. Авторизация и аутентификация
Шаг 3. Тестовые доступы
Шаг 4. Рекомендации по использованию
Шаг 5. Общие требования к обработке ошибок
Шаг 6. Список методов для интеграции
Подробный разбор шагов с примеров в прикрепленной мини-книге 🤝
#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤7👍3😁3
🔐 Виды авторизации в API: что нужно знать? 🔐
Авторизация в API помогает убедиться, что только те, кто имеет соответствующие права, могут получить доступ к данным или функциям системы.
Зачем нужна авторизация?
1️⃣ Защищает данные от утечек данных.
2️⃣ Исключает несанкционированный доступ к API, из-за которого могут украсть данные или записать “грязные” данные в систему.
3️⃣ Разграничивает права доступа (например, чтение данных vs редактирование).
4️⃣ Помогает отслеживать действия каждого клиента API.
Основные виды авторизации разобрала в слайдах к посту:
👍 API Key
👌 Basic Auth
❤️ Bearer Token
🦄 JWT (JSON Web Token)
🔥 OAuth 2.0
А какие способы авторизации используются в ваших проектах и интеграциях?
Делитесь в комментариях и ставьте реакции, соответствующие способу! 😊
#ИнтеграцииGA
Авторизация в API помогает убедиться, что только те, кто имеет соответствующие права, могут получить доступ к данным или функциям системы.
Зачем нужна авторизация?
1️⃣ Защищает данные от утечек данных.
2️⃣ Исключает несанкционированный доступ к API, из-за которого могут украсть данные или записать “грязные” данные в систему.
3️⃣ Разграничивает права доступа (например, чтение данных vs редактирование).
4️⃣ Помогает отслеживать действия каждого клиента API.
Основные виды авторизации разобрала в слайдах к посту:
👍 API Key
👌 Basic Auth
❤️ Bearer Token
🦄 JWT (JSON Web Token)
🔥 OAuth 2.0
А какие способы авторизации используются в ваших проектах и интеграциях?
Делитесь в комментариях и ставьте реакции, соответствующие способу! 😊
#ИнтеграцииGA
❤43🔥20👍9🦄3👌2