Re[31]: Помогите правильно спроектировать микросервисное при
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.02.26 15:06
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, gandjustas, Вы писали:


G>>·>Ты упускаешь мою мысль, что этот код — не особенность МСА-реализации, а реальность бизнес-задачи.

G>>Что означает "реальность бизнес-задачи" ?
G>>Каким образом бизнес-задача приводит к нас к нескольким базам?
·>Реальные физические акторы физически разделены и физически невозможно обеспечить 100% надёжную коммуникацию между ними.
Как связаны реальны акторы и информационная система?

·>Поэтому в CAP будет присутствовать компонента P, хочется тебе того или нет.

Как связаны реальные акторы и CAP?

G>>·>Просто в твоём монолитном решении ты игнорируешь эту проблему.

G>>О какой проблеме идет речь?
·>"задачу, которая откатывает незавершенные резервы".
Эта проблема решается транзакциями в БД.
Если ты уверен что нет, то наверное можешь показать пример как СУБД с ACID гарантиями не откатывает незавершенные транзакции.

G>>·>1. Пользователь создаёт заказ

G>>·>2. Склад резервирует заказ
G>>·>3. Пользователь завершает заказ
G>>И что? Нам поэтому нужно сделать отдельные базы для Заказа, Склада и Пользователя, чтобы соответствовало существительным?
·>Не чтобы соответствовало существительным, а чтобы сабж.
А зачем это? Самоцель сделать микросервисы? Потребителю пофиг сколько у вас сервисов.

G>>А как в 1С конфигурации УНФ это все в одной базе существует? Оно как-то неправильно работает?

G>>В 1С вообще это все решалось в рамках одной базы задолго до появления термина "микросервисы". В чем они неправы?
·>Хреново 1С работает. Не знаю как оно изменилось с тех пор, но раньше это был просто ад — все ломятся через RDP на один гигасервер и простейшие операции работают минуты. И если что-то где-то упало, то всё и сразу лежит.
Показывает уровень понимания 1С...
Давай проще, я в статье описал пример кода, который в одной базе сохраняет заказы и меняет остатки транзакционно https://habr.com/ru/articles/955714/ Без RDP работает.
Можешь прям в коде показать где там проблемы, которые я игнорирую?


G>>·>И вот когда ты опишешь задачу так, то совершенно ВНЕЗАПНО получается, что "надо написать еще фоновую задачу, которая откатывает незавершенные резервы" в любом случае, неважно — МСА у тебя или монолит.

G>>Важно. В монолите это все не нужно. Монобаза тебе обеспечивает атомарность, вообще всегда.
·>Если после 2-го пункта произойдёт какая-либо ошибка, как тебе поможет твоя атомаронсть?
Про какой второй пункт речь?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.