Представьте танец - каждый участник знает свои шаги и реагирует на движения партнёров без указаний хореографа. Но стоит одному из танцоров сбиться или споткнуться, и весь зал погружается в несвязный хаос!
Представьте танец - каждый участник знает свои шаги и реагирует на движения партнёров без указаний хореографа. Но стоит одному из танцоров сбиться или споткнуться, и весь зал погружается в несвязный хаос!
ACID транзакции мощный инструмент, которые позволяет поддерживать целостность данных в реляционных СУБД. Это очень простой в использовании механизм - если что-то пошло не так, то мы откатываем транзакцию, а данные остаются согласованными.
👩💼 Менеджеры любят видеть процесс целиком: от старта до результата. Но в хореографии это сложно - сервисы общаются напрямую, и картина теряется. 🎯 Оркестрация делает процесс прозрачным: бизнес и архитекторы видят одну и ту же модель, которую можно и читать, и исполнять.
Спойлер: на самом деле очень просто, если у вас есть контакты с лидерами мнений и организаторами митапов для Rust-комьюнити.
Подробности
Еще будучи HRD в fintech-компании я столкнулась со сложностями найма Rust-разработчиков:
• на тот момент молодой ЯП с небольшим tech-комьюнити русскоговорящих специалистов
• высокая конкуренция за разработчиков в инд…
Представьте, что ваша система — это оркестр, где каждый музыкант знает свою партию, но никто не машет палочкой. Вместо хаоса — гармония бизнес-процессов. В этом посте разберем, как Domain-Driven Design (DDD) и хореография в распределенных системах создают именно такую синергию: от моделирования событий до масштабируемой архитектуры.
Представьте ситуацию: пользователь покупает «Тур под ключ», но на этапе оплаты его карта отклонена. Авиабилет и отель уже забронированы. Ваша система должна отменить все эти изменения, не оставив недовольных клиентов. Классические транзакции тут не работают. Выход — компенсационные транзакции. Давайте разберем, как это работает и когда это нужно и…
Ненадежная отправка сообщений — частая причина ошибок в микросервисной архитектуре. Паттерн Outbox решает эту проблему, а Debezium делает его реализацию невероятно простой.
При реализации межсервисного взаимодействия с использованием хореографии часто возникает вопрос — как гарантировать доставку сообщений из одной системы (сервиса) в другую?
В прошлых постах мы разобрали, что такое хореография и как ее реализовывать. А теперь соединим хореографию с паттерном State Machine. Это позволит построить нам прозрачную и управляемую архитектуру.
В прошлом посте мы разобрались что такое паттерн "Хореография", его характеристики, когда его можно использовать. Теперь посмотрим, как его реализовать.
Когда мы строим систему из микросервисов, возникает вопрос: как координировать взаимодействие между ними?
Итак, мы решили стартовать наш проект с модульной архитектуры. Мы используем Spring Boot для разработки приложения на языке Java/Kotlin. Какие инструменты нам позволят упростить работу по реализации модульного монолита? Один из таких инструментов - Spring Modulith.