TGViewer
Токсичный (it) архитектор Токсичный (it) архитектор @toxicitarch · 749 subscribers
Post #27 2.24K
👋Сижу, разгребаю очередную «архитектуру» стартапа. Ребята распилили монолит на двадцать кусков, а теперь с ужасом поняли, что данные разъехались, как ноги коровы на льду. И теперь, чтобы все хоть как-то работало используют Saga Pattern.

Давайте честно. Сага - это не «паттерн проектирования». Это признание поражения или признание того, что вы усложнили систему раньше времени. Вы расписались в том, что не смогли правильно определить границы контекстов, и теперь пытаетесь склеить разбитую вазу скотчем и молитвами.🤬

Вы правда думаете, что Хореография (Choreography) - это красиво? Это когда сервисы перекидываются событиями, как горячей картошкой. Сервис А списал деньги, крикнул в Kafka, Сервис Б услышал (или нет), попытался зарезервировать товар... Ой, ошибка. А Сервис А уже забыл, что он вообще что-то списывал. 💩

В итоге у вас не «танец», а пьяная драка в темном баре. Никто не знает, кто начал, кто виноват, и почему клиент остался без денег и без штанов. Отладка этого ада - лучший способ выгореть за месяц.

🔹Оркестрация (Orchestration) чуть лучше. Вы ставите надсмотрщика (Оркестратор), который пинает сервисы. Но теперь вы создали «Божественный сервис», в котором зашита вся логика. Поздравляю, вы переизобрели монолит, только теперь он тормозит по сети.

🔥И самое сладкое - компенсирующие транзакции. Помните из универа четыре волшебные буквы: ACID? Конкретно одну из них - «I», Isolation, «Изоляция»? Это когда грязное белье одной транзакции не видит другая. Все происходит как бы в вакууме. Так вот, в вашем распределенном шапито этой буквы нет со всеми вытекающими.

Что с этим делать:

1️⃣Избегайте распределенных транзакций любой ценой. Если два действия должны быть атомарны - держите их в одном сервисе и одной БД.

2️⃣Если прижало - выбирайте Оркестрацию. Вам нужен лог состояния, чтобы понимать, на каком шаге все рухнуло. Хореография годится только для примитивных событий «пожар-забыл».

3️⃣Идемпотентность - это религия. В распределенной среде сообщения дублируются. Если ваш сервис спишет деньги дважды по одной Саге - вас уволят, и правильно сделают.

Не усложняйте. Распределенная система - это не достижение, это геморрой, который вы сами себе создали.


#этобаза

🤡Токсичный (it) архитектор🤡
  • 👍 27
  • 🔥 7
  • 💯 7
  • 😁 4
  • 💩 2
  • ❤ 1
  • 😱 1
  • 🤣 1
  • 🤷 1
More from @toxicitarch
  1. Sep 24, 2026👋Всем привет. Сегодня небольшая заметка-размышление. Мир гудит по поводу ИИ. Сейчас никог…
  2. Sep 17, 2026👋Очередной созвон, и снова тема оптимизации. Давайте внедрим ИИ и сократим расходы на ФОТ…
  3. Sep 2, 2026👋Всем привет! В воскресенье я побывал на завершающем мероприятии «Летний ТехФест 2026», б…
  4. Mar 31, 2026👋Известная истина гласит: люди делятся на два типа - те, кто ещё не делает бэкапы, и те,…
  5. Mar 26, 2026👋Всем привет! Долго не писал сюда - честно, банально не было времени. Меня тут коллеги по…
  6. Mar 3, 2026👋Всем привет. Сегодня пост не про архитектуру и технические решения. Сегодня у нас минутк…
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 →