TGViewer
PYTHON IN DEPTH🐍 PYTHON IN DEPTH🐍 @python_in_depth · 386 subscribers
Post #77 188
Интеграции с внешними системами: как не превратить backend в зоопарк адаптеров

Рано или поздно backend обрастает интеграциями: платежи, CRM, учётные системы, доставка. Если не договориться с собой о правилах — код быстро начинает жить по законам чужих API.

Несколько вещей, которые реально помогают не потерять контроль над архитектурой.

1. Anti-corruption layer

Не смешивайте доменные модели с ответами партнёров. Лучше выделить отдельный слой.

class PaymentGateway:
async def create_payment(self, dto: PaymentDTO) -> Payment:
...


Контракт у партнёра изменился — правки остаются в одном месте.

2. DTO как точка входа

DTO — удобное место для валидации и нормализации данных.

@dataclass
class PartnerOrderDTO:
external_id: str
total: Decimal


На этом этапе проще отфильтровать неконсистентные данные, чем ловить баги дальше в домене.

3. Idempotency

Повторы запросов — нормальная история для любой сети.
Idempotency-key или уникальный индекс часто спасают от дублей и лишних списаний.

4. Retry без фанатизма

Бесконечные retry под нагрузкой легко добивают зависимый сервис — а заодно и ваш.
Обычно хватает ограниченного числа попыток с backoff.

Чем меньше домен знает о чужих форматах, тем спокойнее переживаются изменения во внешних системах.
  • ❤ 2
  • 🔥 1
  • 😁 1
More from @python_in_depth
  1. Feb 20, 2026«Пузырь лопнул», «айти всё», «рынок умер» — каждый раз читаем это с новым интересом. Но да…
  2. Feb 18, 2026«Какой навык самый важный для разработчика?» Ответ неожиданно простой — умение учиться быс…
  3. Feb 9, 2026Как на самом деле работает отбор резюме в 2026 году Современный найм — это не «человек чит…
  4. Feb 2, 2026Ваш backend слишком сложный. Скорее всего — без причины. У большинства команд сложность ра…
  5. Jan 29, 2025Еееееее, а че мы над js смеемся
  6. Oct 30, 2023Новости nogil. Steering Council принял PEP 703 - опциональный gil из коробки. На discuss.p…
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 →