Профессиональная конференция для Go-разработчиков

Бои в гексагоне: как на архитектуре Ports & Adapters построить омниканальное решение

Бэкенд, теория программирования

Доклад отклонён

Целевая аудитория

Разработчики бэкенда (меньше - фронтенда), частично - архитекторам ИС; особое внимание специалистам в банковской сфере

Тезисы

Перед командой стояла задача разрабатывать омниканальный банковский проект для платежей, с минимумом критических багов и быстро.
Это осложняется тем, что каждое действие пользователя скрывает за собой много операций - вызовы смежников, тяжелые запросы к БД. Плюс, как следует из слова "омниканальный" - одновременно существуют требования как предоставлять одинаковый опыт для пользователей, так и быть готовыми любую логику переписывать в несколько вариантов, потому что либо каналы технически устроены по-разному, либо новый функционал выкатывается неравномерно.
Чтобы избежать случайных ошибок и нежелательных побочных эффектов при разработке, сама архитектура должна направлять эти процессы и страховать команду от просачивания логики туда, куда не следует.
При дизайне решения выбрали гексагональную архитектуру и модульный монолит.
Такое решение содержит меньше неявных зависимостей, чем классический монолит, а развивается проще, чем микросервисы.
Этот выбор позволил создать систему, отвечающую высоким требованиям к продукту в банковской сфере, сохранив поддерживаемость и возможность быстро перейти на микросервисы в будущем, на стадии поддержки проекта.

Разработчик бэкенда на Spring, пишу код на Java и Kotlin. Работаю на проектах ключевых заказчиков в финтехе и госсекторе.

Иннотех

Группа «Иннотех» с 2020 года разрабатывает инновационные решения для цифровизации бизнеса: комплексные решения для фронт- и бэк-офисов, современные финтех-продукты, системы работы с большими данными.

Видео