Сообщение Re[43]: Помогите правильно спроектировать микросервисное при от 20.02.2026 9:41
Изменено 20.02.2026 10:57 ·
Re[43]: Помогите правильно спроектировать микросервисное при
Здравствуйте, Sinclair, Вы писали:
S>>>>>Там ничего неясного нет — просто добавляется ещё один предикат во where, а заказ распадается на reserved и residual.
S>>>·>Т.е. в одной транзакции будут roundtrips между субд и приложением для каждого товара?
S>>>Нет, это всё можно записать двумя стейтментами на весь заказ, вообще без раундтрипов.
S>·>Интересно, как это выглядит?
S>Примерно так:
Ок. Выглядит совсем не так, как в предыдущем примере
Понятно, я безнадёжно отстал от современного sql. Последний раз с sql серьёзно работал лет 10 назад...
S>·>И что если кто-то закинет заказ на тысячу позиций?
S>Будет попытка зарезервировать заказ на тысячу позиций.
Ну вроде речь о МСА шла, а у тебя тут orders и stock в одной транзакции. В МСА же будет некий условный json на резервацию. И тут начнутся проблемы с передачей массивных объектов целиком. Скажем, в kafka размер сообщения жестко ограничивается.
S>>>>>Там ничего неясного нет — просто добавляется ещё один предикат во where, а заказ распадается на reserved и residual.
S>>>·>Т.е. в одной транзакции будут roundtrips между субд и приложением для каждого товара?
S>>>Нет, это всё можно записать двумя стейтментами на весь заказ, вообще без раундтрипов.
S>·>Интересно, как это выглядит?
S>Примерно так:
Ок. Выглядит совсем не так, как в предыдущем примере
S>ORDER BY s.productId
S>FOR UPDATE
S> UPDATE orders o
S> RETURNING o.orderId, o.stateПонятно, я безнадёжно отстал от современного sql. Последний раз с sql серьёзно работал лет 10 назад...
S>·>И что если кто-то закинет заказ на тысячу позиций?
S>Будет попытка зарезервировать заказ на тысячу позиций.
Ну вроде речь о МСА шла, а у тебя тут orders и stock в одной транзакции. В МСА же будет некий условный json на резервацию. И тут начнутся проблемы с передачей массивных объектов целиком. Скажем, в kafka размер сообщения жестко ограничивается.
Re[43]: Помогите правильно спроектировать микросервисное при
Здравствуйте, Sinclair, Вы писали:
S>>>>>Там ничего неясного нет — просто добавляется ещё один предикат во where, а заказ распадается на reserved и residual.
S>>>·>Т.е. в одной транзакции будут roundtrips между субд и приложением для каждого товара?
S>>>Нет, это всё можно записать двумя стейтментами на весь заказ, вообще без раундтрипов.
S>·>Интересно, как это выглядит?
S>Примерно так:
Ок. Выглядит совсем не так, как в предыдущем примере
И вроде нету "заказ распадается на reserved и residual".
Понятно, я безнадёжно отстал от современного sql. Последний раз с sql серьёзно работал лет 10 назад...
S>·>И что если кто-то закинет заказ на тысячу позиций?
S>Будет попытка зарезервировать заказ на тысячу позиций.
Ну вроде речь о МСА шла, а у тебя тут orders и stock в одной транзакции. В МСА же будет некий условный json на резервацию. И тут начнутся проблемы с передачей массивных объектов целиком. Скажем, в kafka размер сообщения жестко ограничивается.
S>>>>>Там ничего неясного нет — просто добавляется ещё один предикат во where, а заказ распадается на reserved и residual.
S>>>·>Т.е. в одной транзакции будут roundtrips между субд и приложением для каждого товара?
S>>>Нет, это всё можно записать двумя стейтментами на весь заказ, вообще без раундтрипов.
S>·>Интересно, как это выглядит?
S>Примерно так:
Ок. Выглядит совсем не так, как в предыдущем примере
S>ORDER BY s.productId
S>FOR UPDATE
S> UPDATE orders o
S> RETURNING o.orderId, o.stateПонятно, я безнадёжно отстал от современного sql. Последний раз с sql серьёзно работал лет 10 назад...
S>·>И что если кто-то закинет заказ на тысячу позиций?
S>Будет попытка зарезервировать заказ на тысячу позиций.
Ну вроде речь о МСА шла, а у тебя тут orders и stock в одной транзакции. В МСА же будет некий условный json на резервацию. И тут начнутся проблемы с передачей массивных объектов целиком. Скажем, в kafka размер сообщения жестко ограничивается.