TGViewer
IT АНАЛитика | Вильд Виктор IT АНАЛитика | Вильд Виктор @it_deep_sight · 2.07K subscribers
Post #270 1.32K
Прибейте меня, я делаю интеграцию. Часть 2 🍑

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

И казалось бы всё, тимлид, давай задачку, ща спроектируем-нах*евертим 💃
Но тут важно понимать одну вещь:

Интеграции бывают разные.
И если выбрать не ту модель, могут быть проблемы.

Начнем с того, что мы их можем разделить по двум направлениям:
1. С кем мы интегрируемся.
2. Как мы это делаем.

1. С кем: внутренние и внешние
🏠Внутренняя интеграция (Internal)
Когда мы связываем наш сервис с другим сервисом внутри компании.

Пример:
Сервис «Оформление заказа» стучится в сервис «Склад», чтобы проверить, есть ли нужная модель телефона в наличии.

Зачастую это более простой вариант:
🤗 Все свои. Можно дойти до соседней команды или написать в личку;
🤗 Быстрее договориться о доработках;
😳 Более быстрый разбор ошибок.

Из минусов:
😒 Знания часто живут в головах и может быть плохо описанная документация;
💬 У другой команды свой бэклог и задачу могут взять в работу не так быстро, как хотелось бы;
🤓 Могут выкатить правки без предупреждения и молча сломать вам прод.


🌐 Внешняя (External)
Когда мы интегрируемся с системой вне нашей компании.

Пример:
У нас есть сервис авторизации и мы хотим, чтобы пользователь мог войти через Госуслуги или Google (внешние сервисы).

Из плюсов:
😋 Обычно есть подробная документация, которую можно изучить самому;
🔺 Есть чёткие правила и форматы данных, которые меняются не так часто.

Из минусов:
💀 Вы не влияете на процесс. Если они решили что-то поменять, вы просто подстраиваетесь, иначе всё сломается;
💀 Если внешний сервис упал, то разрабу в личку уже не напишите, придется писать в саппорт и ждать ответа.


2. Как: синхрон или асинхрон
📞 Синхронная интеграция (Request–Response)
Самый популярный вариант - REST, gRPC, SOAP.

Логика простая:
Запрос → Ожидание → Ответ. Пока мы не получим результат от другой системы, дальше не идем.

Пример:
Создали клиента → отправили запрос в систему проверок → ждем 5 секунд → получили статус «Одобрено» → создали личный кабинет.

Плюсы:
🎉 Всё просто: отправил - получил. Легко проектировать.
😊 Сразу понятно, на каком этапе возникла ошибка.
😌 Дернул метод через Postman и сразу увидел результат.

Минусы:
😅 Если вторая система упала, то процесс встал;
🤨 Любая задержка бьёт по пользователю.

Когда использовать:
👉 Ответ нужен здесь и сейчас (например, проверка баланса или авторизация);
👉 Пользователь смотрит в экран и не может продолжать работу без этих данных.


📨 Асинхронная интеграция (Event-Driven / MQ)
Kafka, RabbitMQ и другие брокеры сообщений.

Логика простая:
Отправили → Забыли. Нам не важно, когда именно другая система обработает данные. Главное, что мы зафиксировали событие и пошли дальше.

Пример:
Клиент нажал «Оформить заказ» → мы кинули событие в очередь → Склад начал сборку, а программа лояльности начислила баллы. Клиент сразу видит экран «Заказ принят», а не ждёт, пока отработают все внутренние сервисы.

Плюсы:
😏 Система не «тупит» в ожидании ответа, пользователь доволен скоростью.
😋 Если сервис почты упал, заказ всё равно оформится. Сообщение полежит в очереди и долетит позже, когда сервис поднимется.
👍 Можно легко добавить ещё пять систем-потребителей, и основной процесс от этого не замедлится.

Минусы:
🥲 Сложнее тестировать: приходится прыгать по логам разных систем, чтобы понять, где и почему застряло сообщение.
😉 Аналитику нужно продумать кучу нюансов: что делать с дублями сообщений (идемпотентность) и как не перепутать их порядок.


Самое простое объяснение:
Синхрон - вы звоните в ресторан.
Пока вам не подтвердят бронь, вы держите трубку.

Асинхрон - вы оставили заявку.
Администратор подтвердил её через 2 часа.
Вы не ждали у телефона.

Какой тип интеграций в ваших задачах встречается чаще всего? И что из этого больше всего бесит? 👇

IT АНАЛитика | Подписаться
  • 🔥 9
  • 👍 2
More from @it_deep_sight
  1. Sep 18, 2026Вот вам оффер пошел нах*й Часть 2 Как и обещал, вторая часть 🔥 Если пропустили первую, та…
  2. Sep 11, 2026Штош ты ментор сдал назад? Часть 2 Менторство почти подошло к концу. На картинке итоговый…
  3. Sep 8, 2026Коллеги, кто? IT АНАЛитика | Подписаться
  4. Sep 4, 2026Архитектурный паттерн "Метнись кабанчиком": разбираемся со Scatter/Gather Сейчас на рынке…
  5. Aug 27, 2026Почему Авито не подключает микросервисы к Kafka напрямую? Хороший кейс для разбора по сист…
  6. Aug 13, 2026Вот вам оффер пошел нах*й 🤝🤝 Прошлый пост про книгу собрал много реакций и репостов. Хоч…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →