Любая интеграция с внешними сервисами — это борьба с хаосом:
У каждого внешнего клиента свой API, свой формат данных и свои бизнес-правила.
Данные приходят с задержками, иногда задним числом, форматы меняются без предупреждения, а гарантий консистентности чаще всего нет.
Как в таких условиях построить систему, которая не развалится?
В этом докладе я расскажу:
• Как мы превратили смену – нашу основную сущность - в стейт-машину, чтобы четко контролировать её жизненный цикл.
• Как работает универсальный адаптер, который позволяет подключать новых внешних клиентов без рефакторинга.
• Как мы обеспечили консистентность данных, используя очереди, контроль состояний, отказоустойчивые механизмы.
• Какие ошибки мы совершили и что можно было сделать лучше.
Доклад будет полезен разработчикам, работающим с интеграциями, асинхронными событиями и сложными процессами, которым важно строить гибкую, масштабируемую и отказоустойчивую архитектуру.