💥 Проблемы и подводные камни хореографии

💥 Проблемы и подводные камни хореографии

Представьте танец - каждый участник знает свои шаги и реагирует на движения партнёров без указаний хореографа. Но стоит одному из танцоров сбиться или споткнуться, и весь зал погружается в несвязный хаос!

Почему ACID не работает в микросервисной архитектуре

Почему ACID не работает в микросервисной архитектуре

ACID транзакции мощный инструмент, которые позволяет поддерживать целостность данных в реляционных СУБД. Это очень простой в использовании механизм - если что-то пошло не так, то мы откатываем транзакцию, а данные остаются согласованными.

🎼 Оркестрация: язык, который понимают и бизнес, и архитекторы

🎼 Оркестрация: язык, который понимают и бизнес, и архитекторы

👩‍💼 Менеджеры любят видеть процесс целиком: от старта до результата. Но в хореографии это сложно - сервисы общаются напрямую, и картина теряется. 🎯 Оркестрация делает процесс прозрачным: бизнес и архитекторы видят одну и ту же модель, которую можно и читать, и исполнять.

Вы просто не умеете их готовить или как нанять 3х Rust🦀разработчиков за пару дней.

Вы просто не умеете их готовить или как нанять 3х Rust🦀разработчиков за пару дней.

Спойлер: на самом деле очень просто, если у вас есть контакты с лидерами мнений и организаторами митапов для Rust-комьюнити.


Подробности

Еще будучи HRD в fintech-компании я столкнулась со сложностями найма Rust-разработчиков:
• на тот момент молодой ЯП с небольшим tech-комьюнити русскоговорящих специалистов
• высокая конкуренция за разработчиков в инд…

2
1

Хореография + Domain-Driven Design: как они сочетаются

Хореография + Domain-Driven Design: как они сочетаются

Представьте, что ваша система — это оркестр, где каждый музыкант знает свою партию, но никто не машет палочкой. Вместо хаоса — гармония бизнес-процессов. В этом посте разберем, как Domain-Driven Design (DDD) и хореография в распределенных системах создают именно такую синергию: от моделирования событий до масштабируемой архитектуры.

Компенсационные транзакции: как откатить хаос и не потерять данные

Компенсационные транзакции: как откатить хаос и не потерять данные

Представьте ситуацию: пользователь покупает «Тур под ключ», но на этапе оплаты его карта отклонена. Авиабилет и отель уже забронированы. Ваша система должна отменить все эти изменения, не оставив недовольных клиентов. Классические транзакции тут не работают. Выход — компенсационные транзакции. Давайте разберем, как это работает и когда это нужно и…

1

Мертвые события убивают микросервисы: Как Debezium и Outbox-паттерн спасут вашу систему от несогласованности

Мертвые события убивают микросервисы: Как Debezium и Outbox-паттерн спасут вашу систему от несогласованности

Ненадежная отправка сообщений — частая причина ошибок в микросервисной архитектуре. Паттерн Outbox решает эту проблему, а Debezium делает его реализацию невероятно простой.

1

Как организовать гарантированную отправку сообщений в хореографии — паттерн Outbox

Как организовать гарантированную отправку сообщений в хореографии — паттерн Outbox

При реализации межсервисного взаимодействия с использованием хореографии часто возникает вопрос — как гарантировать доставку сообщений из одной системы (сервиса) в другую?

State Machine и Хореография

State Machine и Хореография

В прошлых постах мы разобрали, что такое хореография и как ее реализовывать. А теперь соединим хореографию с паттерном State Machine. Это позволит построить нам прозрачную и управляемую архитектуру.

Как реализовать хореографию на практике

Как реализовать хореографию на практике

В прошлом посте мы разобрались что такое паттерн "Хореография", его характеристики, когда его можно использовать. Теперь посмотрим, как его реализовать.

Паттерн Хореография: Танцующие Микросервисы

Паттерн Хореография: Танцующие Микросервисы

Когда мы строим систему из микросервисов, возникает вопрос: как координировать взаимодействие между ними?

Как упростить работу с модульностью

Как упростить работу с модульностью

Итак, мы решили стартовать наш проект с модульной архитектуры. Мы используем Spring Boot для разработки приложения на языке Java/Kotlin. Какие инструменты нам позволят упростить работу по реализации модульного монолита? Один из таких инструментов - Spring Modulith.