Шаблонизаторы — инструменты для автоматической генерации текстовых данных на основе шаблонов и входных данных.
Используются в:
Примеры
Шаблон описывает процесс оформления заказа, но меняются условия для разных ролей:
Вместо 3-х сценариев используется шаблон с переменными
{role}, {action}, {notification}. Например, с помощью Jinja2, Mustache
Форматы сообщений генерируются из шаблонов (например, FreeMarker или Jinja2):
payment_template.xmlemail_template.jsonorders_template.csvЕсли банк меняет XML-структуру, достаточно обновить шаблон, а не переделывать всю интеграцию
Примеры шаблонизаторов
Разработка микросервисного API для обработки заказов
Проблемы:
Пример решения:
Используется для генерации текстовых выходных данных (HTML, конфигурационные файлы, исходный код)
Разработка веб-приложения
1. Динамическая генерация страниц (баланс, последние транзакции) с неизменной версткой
Контроллер Spring Boot передаёт в шаблон FreeMarker объект пользователя с балансом и историей операций.
FreeMarker подставляет данные в HTML и формирует готовую страницу
2. Персонализация контента: разные предложения для пользователей
В шаблоне используются условия
<#if> — если клиент VIP, добавляется блок с индивидуальными предложениями. Контент обновляется без изменения логики бэкенда
3. Повторное использование компонентов (хедер, меню, подвал) без копирования вручную
Общие шаблоны (layouts) с подключением через
includeЕсли нужно изменить меню — правится один файл
-- все страницы используют один
header.ftl* с логотипом и навигацией-- в
footer.ftl хранится контактная информация-- основной шаблон (
base.ftl) объединяет их в одну структуру*FreeMarker Template Language (FTL)
1. Что такое и зачем нужны шаблонизаторы HTML
2. Текстовые шаблонизаторы и их реализация
3. Три неочевидных примера использования шаблонизаторов в backend-е
4. Шаблонизаторы HTML: что это и стоит ли их использовать в разработке
5. 15 шаблонизаторов для фронтенд-разработки
6. 6 лучших шаблонизаторов на PHP
7. 5 популярных PHP-шаблонизаторов
8. ТОП-10 шаблонизаторов HTML для web-разработки
#инфраструктура
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍14❤10
Может, познакомимся?
🔹 Канал активно ведётся уже почти 2 года, появилось 17+ тысяч подписчиков, а мы до сих пор не знакомы друг с другом. Надо исправляться.
Есть идея создать на базе нашего канала группу-комьюнити системных аналитиков, чтобы:
1. Обмениваться опытом друг с другом
2. Узнавать, как там работается в других местах
3. Что там по ЗП
4. Ну и просто болтать
Естественно, модерация и все дела.
💡 Есть также идея проводить митапы пару раз в месяц на определённые темы, за которые будут голосовать люди. Но нужны энтузиасты, которые готовы выступать НА ПУБЛИКУ 😱
💬 Пишите в комментариях всё, что думаете по этому поводу.
Ну а ниже предлагаем ответить на несколько вопросов и чуть-чуть узнать друг о друге.
Есть идея создать на базе нашего канала группу-комьюнити системных аналитиков, чтобы:
1. Обмениваться опытом друг с другом
2. Узнавать, как там работается в других местах
3. Что там по ЗП
4. Ну и просто болтать
Естественно, модерация и все дела.
💬 Пишите в комментариях всё, что думаете по этому поводу.
Ну а ниже предлагаем ответить на несколько вопросов и чуть-чуть узнать друг о друге.
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥51👍22❤11
Ваш грейд (только для СА/БА)
Anonymous Poll
6%
Стажёр
17%
Junior
28%
Middle
18%
Middle+
14%
Senior
7%
Lead
11%
Я не СА и не БА
Ваша локация (откуда вы работаете)
Anonymous Poll
33%
Москва
13%
Санкт-Петербург
24%
Другой город-миллионник России
18%
Другой город России менее 1 млн
4%
Беларусь 🇧🇾
3%
Казахстан 🇰🇿
0%
Армения 🇦🇲
0%
Грузия 🇬🇪
0%
Украина 🇺🇦
4%
Другая страна 🌍
Системный Аналитик
Может, познакомимся? 🔹 Канал активно ведётся уже почти 2 года, появилось 17+ тысяч подписчиков, а мы до сих пор не знакомы друг с другом. Надо исправляться. Есть идея создать на базе нашего канала группу-комьюнити системных аналитиков, чтобы: 1. Обмениваться…
Как и обещали, создаём группу-комьюнити системных аналитиков, чтобы:
1. Обмениваться опытом друг с другом
2. Узнавать, как там работается в других местах
3. Что там по ЗП
4. Ну и просто болтать
Навигация по группе
📣 Митапы — проводим онлайн-встречи. Здесь можно стать спикером или проголосовать за желаемые темы
💸 Зарплаты и условия труда — обсуждаем, кому, где и как работается
💼 Поиск работы — обсуждаем резюме, вакансии, вопросы и задачи к собесам и т.д.
Ждём всех!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍13⚡3❤2
Фильтр Блума — структура данных, которая помогает быстро проверить, может ли элемент находится в наборе данных или точно его там нет
Работает как "чек-лист", отвечает:
-Может быть, элемент есть (иногда может ошибится)
-Точно элемента нет
Как работает?
Например,
id со значением 12345Хэш-функция — математический алгоритм, который превращает строку ("12345") в числа (индексы массива), например:
- hash_1("12345") → 2
- hash_2("12345") → 5
- hash_3("12345") → 7
[0, 0, 1, 0, 0, 1, 0, 1]
Фильтр запоминает, что на позициях [2, 5, 7] что-то есть
Чтобы узнать есть ли
id = 54321 в фильтре Блумаid снова пропускается его через те же хэш-функции:- hash_1("54321") → 1
- hash_2("54321") → 3
- hash_3("54321") → 6
Фильтр смотрит на эти индексы в массиве: [0, 0, 1, 0, 0, 1, 0, 1]
Позиция 1 = 0 → id = "54321" точно не добавлялся
Если бы добавлялся, то позиция 1 была бы = 1
Чего нет в фильтре Блума
Примеры применения
- для ускорения поиска записей без полного сканирования таблиц
- в индексах для предварительной проверки наличия ключа
Недостатки
Пример:
"12345" ставит 1 на позициях [2, 5, 7]
"67890" ставит 1 на позициях [5, 7, 8]
Фильтр может ошибочно считать, что элемент есть, хотя его нет
1. Что такое фильтр Блума?
2. Фильтр Блума: зачем нужен и как работает
3. Что такое фильтр Блума и как он работает на практике (с примерами)
4. Что такое фильтр Блума в Blockchain?
5. Вероятностные структуры данных и где они обитают
6. Фильтр Блума – вероятностная структура данных для проверки принадлежности элемента множеству
7. Просто о сложном: что фильтрует фильтр Блума?
8. Фильтр Блума
9. Когда фильтр Блума не подходит
#инфраструктура
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Системный Аналитик
🔐 Хэширование и Шифрование
🤗 Хэширование и Хэш-функции
⚪️Хэширование — преобразование данных с помощью специального алгоритма
В результате возникает хеш (hash) — отображение данных в виде уникальной строки
😍размер строки одинаковый для информации…
🤗 Хэширование и Хэш-функции
⚪️Хэширование — преобразование данных с помощью специального алгоритма
В результате возникает хеш (hash) — отображение данных в виде уникальной строки
😍размер строки одинаковый для информации…
🔥19👍11❤9🤔1
Общее
1. Как писать требования и документацию к проекту. Полный гайд с шаблоном документации и примерами заполнения — опыт Альфы
2. Ликбез по техническому заданию
3. Как оформить спецификацию, чтобы не запутаться самому и не выбесить коллег
4. Для архитекторов и аналитиков: шаблон описания архитектуры приложения (34 страницы пользы)
5. Как выжать максимум из Confluence: часть 1, часть 2
6. Матрица трассировки требований: руководство для системного аналитика
Стандарты
1. Стандарты и шаблоны для ТЗ на разработку ПО — обзор
2. Разработка Технического задания по ГОСТ 34 легко и просто — полный гайд по ТЗ ГОСТ 34
Docs as Code
1. Опыт аналитиков Альфы про доку в коде
2. Docs as Code: как вести фронтовую документацию рядом с кодом, чтобы репозиторий не раздуло — опыт Альфы
Интеграции
1. Как создать шаблон документации к микросервису — МТС
2. Пример ТЗ для описания API
3. Шаблоны документации API
4. Как написать свою первую спецификацию на REST API
5. Как мы описываем требования к REST API для бэкенда в Confluence — Magnit Tech
6. REST API: заполненный шаблон постановки задачи
7. Шаблон постановки задачи на REST API-метод для Confluence
8. Полная постановка задачи на интеграцию - заполненный шаблон требований
Требования
1. Шаблон спецификации требований
2. Как мы создали шаблон функциональных требований к разработке ПО
3. Шаблон пользовательских историй
Для пользователей базы знаний доступны реальные сокровенные шаблоны спек от аналитиков одной из жёлтых компаний, да и вообще там много полезного
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64👍12❤9👏1
Forwarded from Библиотека Системного Аналитика
Непрерывное_развитие_API_Уайлд_Эрик,_Амундсен_Майк.pdf
5.5 MB
Непрерывное развитие АРI.
Правильные решения в изменчивом технологическом ландшафте
✍️ Автор: Мехди Меджуи, Эрик Уайлд, Ронни Митра, Майк Амундсен
🗓 Год издания: 2023
🔤 Язык: русский
📚 Объём: 368 стр.
Практическое руководство по эффективному управлению API. Раскрываются ключевые принципы проектирования, разработки и поддержки интерфейсов как продуктов с непрерывным жизненным циклом.
Книга охватывает:
💙 сложности управления API (масштабирование, стандарты, работа команд)
💙 стратегическое руководство (баланс централизации и гибкости)
💙 API как продукт (дизайн-мышление, опыт разработчиков, конкурентные преимущества)
💙 10 столпов успешного API — от стратегии и безопасности до мониторинга и продвижения
💙 стили API и жизненный цикл (создание, публикация, окупаемость, поддержка, удаление)
💙 работу команд (роли, масштабирование, культура).
💙 системы API (управление в крупных экосистемах, контроль версий, изменения)
#api
Правильные решения в изменчивом технологическом ландшафте
✍️ Автор: Мехди Меджуи, Эрик Уайлд, Ронни Митра, Майк Амундсен
🗓 Год издания: 2023
🔤 Язык: русский
📚 Объём: 368 стр.
Практическое руководство по эффективному управлению API. Раскрываются ключевые принципы проектирования, разработки и поддержки интерфейсов как продуктов с непрерывным жизненным циклом.
Книга охватывает:
#api
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤14🔥5🤡1
Docs as Code – подход к созданию и сопровождению документации.
Ообращение с текстом документации, как с исходным кодом приложения:
Но всегда должна быть актуальной и согласованной с кодом (как и наоборот)
Суть подхода
Документация:
Принципы написания документации
Написание спецификаций следует принципам написания кода, но имеет свои специфичные принципы
Не дублируем информацию: один факт — один источник, остальные ссылаются
Держим форму и язык простыми, без лишних деталей.
Пишем только то, что нужно прямо сейчас; гипотезы и «на будущее» убираем
Один раздел — одна тема или функция
Уровни абстракции не смешиваем: обзор и детали храним раздельно
Ссылаемся только на ближайший нужный контекст, избегаем дальних зависимостей
Хранение документации
Документация лежит в том же репозитории, что и сервис. Обычно в каталоге /docs.
Каждая ветка и тег кода несут свою версию текстов.
Документация развивается в своём проекте (или нескольких), независимом от исходников сервисов
Когда подходит:
1. Docs as Code: введение в предмет
2. Опыт аналитиков Альфы про доку в коде
3. Docs as Code: как вести фронтовую документацию рядом с кодом, чтобы репозиторий не раздуло — опыт Альфы
4. Documentation as code: практики и инструменты документирования в сфере финансовых технологий
5. Статья о Docs as code от техписов - сайт собран как код на Rst
6. Инструменты подхода Docs-as-code
#инфраструктура #документация
А ещё там 140+ статей и 2500+ ссылок на материалы -- и всё разложено по полочкам, как мы любим.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤32🔥19👍13🤔3😁2
Примеры типов метрик
(конверсия, средний чек, количество активных пользователей)
(загрузка CPU, время ответа сервера, количество ошибок)
(время загрузки страницы, кол-во кликов до целевого действия)
Примеры технических метрик
Серверные
Приложений
БД
Методологии анализа метрик
Анализ производительности ресурсов (CPU, память, диски, сеть)
Для инфраструктурных метрик
Для для мониторинга сервисов (часто микросервисов), API
*какой % значений ниже определённого значения
Расширенная версия RED, для сложных распределённых систем
Подходы к сбору метрик
Агенты на серверах/приложениях отправляют данные на сервер мониторинга
Сервер мониторинга запрашивает данные у агентов или экспортеров
Меньше нагрузки на сеть, сервер контролирует частоту запросов
Анализ логов для извлечения метрик (кол-во ошибок, время выполнения запросов)
Универсальный подход, логи есть почти везде
Можно анализировать исторические данные
Отслеживание запросов через распределённую систему
Позволяет понять, как запрос проходит через компоненты системы
Инструменты мониторинга
Grafana: визуализация метрик
Prometheus: сбор и хранение метрик
ELK: логирование и анализ событий
Zabbix: мониторинг инфраструктуры
Nagios: мониторинг сетей и серверов
1. Мониторинг начинается с метрик | Часть 2: серверное ПО
2. Как построить эффективную стратегию мониторинга
3. Основы мониторинга и сбора метрик
4. Мониторинг и сбор метрик
5. Руководство по мониторингу производительности сервера
6. Выбираем оптимальную архитектуру мониторинга
7. Как организовать мониторинг в мультипроцессорном режиме
#инфраструктура
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤13🔥9
BASE (Basically Available, Soft state, Eventually consistent) — подход к проектированию распределённых систем
Жертвует строгой согласованностью (ACID) ради доступности, масштабируемости и гибкости
Когда используют
Три принципа BASE
Система всегда отвечает, даже при частичных сбоях
Данные могут быть неактуальными, но запросы не блокируются
Данные могут меняться со временем без внешних запросов
И могут временно находиться в несогласованном состоянии из-за асинхронных обновлений
Система придет к согласованности, но не мгновенно
BASE vs ACID vs CAP
БД не может быть и ACID и BASE одновременно
Это противоположные подходы
Но некоторые гибридные СУБД (например, MongoDB) позволяют гибко настраивать уровень согласованности
CAP-теорема: система может гарантировать только 2 из 3 свойств:
Пример реализации BASE
Онлайн-магазин с высокой нагрузкой
Товар появляется в корзине, но остатки на складе могут обновиться с небольшой задержкой
Если два покупателя одновременно добавляют последний товар → оба увидят его в корзине, но физически доступен только 1
Сервис склада (Kafka + PostgreSQL) асинхронно проверяет остатки
BASE позволяет сначала принять действие, потом проверить ограничения
Это критично для высоконагруженных сценариев
1. BASE
2. Как бы я сейчас объяснил молодому себе… зачем существуют требования ACID для баз данных?
3. Требования ACID. BASE модель. CAP теорема
4. БАЗОВАЯ модель разработки БД
5. NoSQL: что это такое, отличие от других баз данных, BASE
📚Базы данных. Инжиниринг надежности - Кэмпбелл Лейн, Мейджорс Черити (Глава 11. BASE)
#бд
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍16❤11🔥11🤔1
Ранее писали про Swagger
Рассмотрим аналоги:
Ориентирован на Draft-first подход и работу с человеко-читаемой спецификацией (API Blueprint)
Плюсы
Пример: описан метод
POST /users, Apiary сразу отдаёт фейковый ответ с JSON-примеромПример: описание выглядит как документация, а не код
Минусы
Когда использовать
Изначально "тестировщик", стал универсальным инструментом для работы с API
Плюсы
Пример: создается мок на
GET /products, и фронтенд может работать до бэкендаПример: можно настроить ежедневную проверку, что метод
/status возвращает 200Пример: при запуске запроса вручную можно поменять параметры и увидеть ответ в реальном времени
Минусы
Когда использовать
Swagger выигрывает в спецификации, но проигрывает в удобстве тестов
Можно использовать в связке со Swagger/OpenAPI
Платформа для проектирования, документации и тестирования API с фокусом на визуал
Ориентирован на API-first подход и работу с OpenAPI-спецификациями
Плюсы
Пример: можно проектировать API с помощью drag-and-drop-интерфейса, без ручного кода
Пример: можно оставить комментарий на конкретный endpoint и пройти ревью API
Пример: можно получить готовую обёртку для клиента на TypeScript или Python
Пример: при пуше новой ветки спецификации автоматически пересобирается документация и обновляются моки
Минусы
Когда использовать
Для команд, где API — это ключевой контракт между фронтом и бэком
1. 3 лучших инструмента для описания RESTful API
2. 7 инструментов для работы с API с бесплатными тарифами
3. 8 лучших инструментов документации API в 2024 году
4. Тестирование API: виды, методы, инструменты
5. Как выбрать инструмент для тестирования API
6. swagger.io: аналоги и похожие приложения
Please open Telegram to view this post
VIEW IN TELEGRAM
❤27👍10⚡2🔥1
22.06.25 (воскресенье) в 18:00 по Мск состоится третий вебинар от Федерации Аналитиков
Ранее — аналитик и разработчик в масштабных интеграционных проектах в банковском секторе, руководитель отдела системного и бизнес анализа в продуктовой компании
(Ссылка на конференцию там же)
При добавлении встречи в календарь напоминание о мероприятии придет за 1 день, за 1 час и за 15 мин
‼️ Запись будет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤10👍5
Gap-анализ — метод выявления расхождений между текущим состоянием системы (As-Is) и целевым состоянием (To-Be)
Суть
Сравнение двух моделей (текущей и целевой) для выявления отличий, которые мешают достичь конечного состояния
Помогает ответить на вопросы:
Каждый найденный gap трансформируется в конкретные действия: изменения, доработки, внедрения
Зачем нужен
Помогает:
Когда можно применять
Примеры типов gap'ов
Пример как проводить
Фиксируется желаемое поведение, функции, архитектура, UX
Сравниваются состояния по направлениям (функции, данные, процессы и т.п.).
Gap'ы группируются по сложности, влиянию и срочности
Примеры применения
Внедрение ERP
Миграция на новую систему
Соблюдение законодательства (например, 152-ФЗ)
Автоматизация ручной отчетности
→ требуется автоматизация
Типичные ошибки
Поверхностное описание As-Is или To-Be
→ пропущенные gap'ы, неверные требования, ошибки в архитектуре
Нет детализации функций или данных
→ неполный результат
Отсутствие вовлечения экспертов и пользователей
→ упущены потребности, сопротивление изменениям при внедрении
Смешивание «хотелок» с реальными бизнес-целями
→ избыточные требования, увеличение сроков и бюджета
1. Использование GAP-анализа для выявления и согласования задач по проекту
2. Gap-анализ (анализ несоответствий) и модель развития элементов ит-архитектуры
3. Гэп технологий и бизнеса: стресс/расхождение плана с фактом/причина недостижения целей
#развитие #документация
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29🔥16👍13⚡1
2PC (Two-Phase Commit) – паттерн для гарантии атомарности* распределенных транзакций
*атомарность – "всё или ничего": либо выполняются все операции транзакции, либо ни одна
Это критично для согласованности данных в распределенных системах
Роли участников
Управляет процессом, принимает решение
- транзакционные менеджеры
- СУБД-координатор
- оркестраторы
Выполняют локальные операции, голосуют
- БД
- Очереди сообщений
- Legacy-системы
Фазы
- проверяют возможность коммита своей части транзакции (проверка ограничений, конфликтов, запись в локальный лог для восстановления)
- блокируют данные (локальные блокировки)
- проверяют возможность коммита
- vote_commit (если готов)
- vote_abort (если не готов) и выполняют локальный откат
Если все vote_commit:
- фиксируют изменения данных
- освобождают блокировки
- отправляют координатору ack (подтверждение)
Если хотя бы один vote_abort (или таймаут):
- откатывают свою часть транзакции
- освобождают блокировки
- отправляют координатору ack
Сценарии работы
1. клиент делает перевод 100 руб со счета А (ресурс 1) на счет Б (Ресурс 2)
2. координатор шлет prepare обоим банкам
3. банк А: проверяет наличие 100 руб, блокирует их, голосует "Да"
банк Б: проверяет можно ли зачислить, голосует "Да"
4. координатор шлет commit
5. банк А: Списывает 100 руб, освобождает блокировку
банк Б: Зачисляет 100 руб. Оба шлют ack
6. клиент получает подтверждение
Координатор трактует как vote_abort "Нет" → Откат всех
- при восстановлении ресурс смотрит в свой лог: prepare есть, а commit/abort нет
- ждёт команду координатора (состояние "in doubt")
- после записи решения → при рестарте пересылает решение ресурсам
- до записи решения → ресурсы остаются заблокированными до ручного вмешательства
Примеры применения
1. Управление транзакциями в бд
2. Способы управления транзакциями в распределённых ИС. Механизм 2pc
3. 2pc в распределённых транзакциях
4. 2pc и будущее распределённых систем
5. Распределённые транзакции в микросервисах: от SAGA до 2pc
📚 Распределенные системы. Паттерны проектирования – Брендан Бернс
#проектирование #архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍9🔥8🤔1
Доступность системы (SA,Service Availability) — отношение времени, когда система работала, к общему времени
Availability (%) = (Время работы / Общее время) × 100
Availability = (364.25 / 365) × 100 ≈ 99.79%
Метрики доступности
Эти метрики логируются в большинстве APM/мониторинговых систем (например, Datadog, Pingdom, New Relic, Zabbix)
MTBF = Общее время работы / Кол-во сбоев
MTTR = Общее время восстановления / Кол-во инцидентов
Показывает, сколько времени в среднем уходит на устранение сбоя
RTO и RPO
Пример: RTO = 15 мин → система должна заработать не позже чем через 15 мин после сбоя
Пример: RPO = 5 мин → допустимая потеря не более 5 мин данных (время с последнего бэкапа или репликации)
Примеры под разные классы доступности
или Active-Active (оба сервера работают одновременно. Нагрузка распределяется. Если один падает — второй продолжает без переключений)
1. Классификация критичности информационных систем
2. Типы информационных систем и их уровни защищённости
3. Доступность IT-систем: поругаться или договориться?
4. MTBF — откуда берется «миллион часов MTBF»
5. Разбираемся с метрикой «Среднее временя между сбоями» (MTBF)
6. RTO и RPO: что это и в чём отличия
📚 Site Reliability Engineering. Надежность и безотказность как в Google
#архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥9❤7👏2
Типы доставки сообщений
Продюсер отправляет сообщение и не ждет подтверждения
При сбое данные могут потеряться
acks=0), консьюмер сразу обновляет офсетПродюсер отправляет сообщение, ждет подтверждения. При сбое может отправить повторно, появляются дубли
acks=all), консьюмер обновляет офсет только после обработкиИдеальная гарантия: без потерь и дублей. Kafka поддерживает механизм Transactional Producer
Реализуется через:
Если Kafka сохраняет сообщение один раз, потребитель может ошибиться (например, дважды обработать запись)
Кратко
Защита от дублей
При использовании At least once возможны дубли, нужно предусматривать их обработку
Можно настроить ключи сообщений так, чтобы консьюмер сохранял только уникальные значения
- продюсер генерирует
message_id (UUID или хэш содержимого)- брокер или БД консьюмера проверяет уникальность перед записью
order_id → повторная запись невозможна- при обновлении данных сервис сохраняет событие в отдельную таблицу Outbox вместе с основной записью
- фоновый процесс читает события из Outbox и отправляет их в Kafka
Используется на стороне консьюмера
- все события сохраняются в отдельную таблицу Inbox перед обработкой
- при сбое необработанные события можно переобработать без риска дублирования
Партиции и масштабирование
Партиция — минимальная единица хранения и обработки сообщений в Kafka
Масштабирование Kafka-кластера напрямую зависит от числа партиций
Связь: партиции
Чем больше партиций, тем выше параллелизм обработки
Почему важно количество партиций
1. Гарантии доставки сообщений в Kafka
2. Синхронизация асинхронности: Dead Letter и Inbox для обработки зависимых сообщений
3. Как обработать миллион сообщений из kafka
4. Под капотом продюсера Kafka: UML-диаграмма публикации сообщений
5. Kafka за 20 минут. Ментальная модель и как с ней работать
📚 Дилан Скотт, Виктор Гамов, Дейв Клейн. Kafka в действии
#интеграции
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31❤13👍7