|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov Leonid Kudryavtsev Дофига транзакций и никакого ACID. Наблюдал ситуацию, когда в выписке эквайринга СберБанка данные менялись задним числом. Выгрузили выписку на след. день, у операции с одним кодом и uid - одна сумма. Выгрузили через пару дней - код операции тот же, uid тот же, дата и время те же, сумма другая. И какой тут ACID ? ))) Это Сбербанк ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:49 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov Охъ, ну и каша у тебя в голове... Во-первых, почему сразу банки? А не Sony, не Амазон, ни Озон, например? Во-вторых, а где это у вас "там" не периферия? В-третьих, сразу видно, что даже о банках у тебя посредственные знания. Например, я могу в веллс фарго перевести со своего депозитного счета на депозитный счет жены, и, представь, они оба не картсчета :) да, у меня каша. но ты давай не стесняйся, похвались, где конкретно ты видел фин транзакции в рамках одной бд, с acid ? Sony, Амазон, Озон ? если ты не понял, то я над тобой потешаюсь. у того же веллс фарго это будет огромной длины сага, которая сформирует задачу ночному джобу на закрытие твоего счета, какие-нить запросы во внешние скоринг системы, проверки на фрод. если это не ларек с 1с, ничего похожего на acid транзакцию субд не будет. все устроено много сложней. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:57 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Выгрузили через пару дней - код операции тот же, uid тот же, дата и время те же, сумма другая. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 16:00 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 да, у меня каша. но ты давай не стесняйся, похвались, где конкретно ты видел фин транзакции в рамках одной бд, с acid ? Любая транзакция в рамках одной системы/одной организации ? Правда не уверен, какое конкретное значение Вы вкладываете в слова "фин транзакция". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 16:05 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Любая транзакция в рамках одной системы/одной организации ? Правда не уверен, какое конкретное значение Вы вкладываете в слова "фин транзакция". потешатся я начал вот с этой фразы Sayan Malakshinov Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят не знаю, что он имел ввиду потому и спрашиваю, где он видел, что бы свелось к примитивной acid транзакции ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 16:12 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov у меня такая хрень была, когда курс шикарно попрыгал в декабре 2014... курс не при чем. где-то сайт Сбербанка сглючил. Было две операции на разные суммы: одна отклонилась, вторая прошла. В эквайринге изначально отразилась отклоненная операция, в банковскую выписку (деньги) попала вторая (банковскую выписку у меня не сквитовалась, т.к. суммы не совпали). Через пару дней выписка эквайрига с сайта Сбера исправилась. Подозреваю, в Сбере сами обнаружил расхождение (или наш клиент им позвонил) и кто-то просто ручками в БД исправил. Поскольку у меня операции удаления (или перезагрузки) уже загруженной выписки эквайринга не реализована, то так же пришлось ручками в БД удалять. Удивительно, что id / uid при этом не изменилось. Если бы было две операции и изменился бы статус операции - это я бы еще понял, но изменение суммы при одном и том же id - за гранью добра и зла. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 16:14 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 не знаю, что он имел ввиду потому и спрашиваю, где он видел, что бы свелось к примитивной acid транзакции Про банки не знаю. Но у нас в биллинге операции вида "списать деньги с аванса/предоплаты, оплатить счет" выполняются в рамках одной примитивной acid транзакции. Если деньги будут с аванса будут списываться в междумодульное пространство или оплата счета появлятся ниоткуда - в конце месяца, при закрытие периода, нам голову оторвут. Поэтому делить единую систему "счета и платежи" на два микросервиса, задолженность по счетам отдельно + прием платежей отдельно - можно конечно, но головной боли и кол-во ошибок это явно добавит. Транзакции и ACID "из коробки" это удобно и убирает массу проблем. Это не значит, что такого междуомодульного пространства найти нельзя. Например комисия Сбербанка за эквайринг - вполне таким междумодульным пространством является. У пользователя списывается с карточки одна сумма, а на счет продавца приходит уже другая. В рамках сбербанка происходит "усушка и утряска" на сумму комиссии. Лично я в законности такой усушки сомневаюсь, но это пусть у юристов Сбербанка голова болит. С точки зрения отчетности, получается хрень. Счетов выставили на 100 рублей, денег пришло на 97 рублей, а еще 3 рубля приходится "рисовать" внутри системы. Понятно, что при должной ловкости и желании, такой учет отрывает "большие переспективы" p.s. другие "агрегаторы" платежей (например Почта России) работают по более прозрачной схеме. Они присылают полную сумму и выставляют отдельный счет за свои услуги на сумму комиссии. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 16:30 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 не знаю, что он имел ввиду потому и спрашиваю, где он видел, что бы свелось к примитивной acid транзакции А как делать "не примитивную" транзакцию? Вот например бизнес процесс эквайринга сбербанка. Счет 100 рублей, человек оплатил 100 рублей со своей карточки, 3 рубля "усушилось" в Сбербанка, 97 руб дошло. Ok. Человек пишет заявление, что оплата была ошибочной. Ему нужно вернуть деньги. Сделать rollback. Кто и как будет возврашать? Наша система, не против. Но нам пришло 97 рублей, мы и вернуть можем 97 рублей. А вот кто и на каком основании ему будет 3 рублей усушенных Сбербанком возврашать? То есть большой вопрос. Это при том, что документация от Сбера около нуля. Типы транзакций возврат денег, вроде у эквайринга Сбера есть, но как они работают - не понятно совершенно. Но за > 3 года ни разу транзакций возвратов не было. Но пару раз было несовпадение сумм в выписках Сбербанка и реального поступление денег - приходилось руками подшаманивать/исправлять в базе. Подозреваю, это могло быть и по причине возвратов/технических ошибок процессинга карточек. Была бы одна база и ACID - таких бы проблем не было как класс. p.s. Пример не выдуманный. Был случай, когда человек по ошибке вместо 2 тыс. рублей оплатил 20 000 рублей. Просил, что бы ему вернули ))) Чем закончилось не знаю, но через 3-х месяца после написания заявления фиг он получил, а не деньги ))) Россия. Все во имя человека, все во благо человека и многие даже догадываются, что это за человек (советский анекдот, своими словами) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 16:52 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov mayton Ты мобилу пополняешь когда-нибудь? Видел, сколько шагов такая операция занимает? Это - тоже не в рамках одного закона ACID происходит. Не одним UPDATE-ом... Это интересная и сложная тема. И она - будоражит этот форум. Вы сказали о потерях. Очевидно был печальный опыт. Мне вспоминается кто-то известный из ... эээ короче он сказал дескыть что две темы актуальны для разработки софта - 1) как назвать переменную и 2) как инвалидировать кеш. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 16:53 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Melkomyagkii_newbi H5N1 пропущено... и что, где-то в серьез существуют проекты где как полагается поднимается оракл с партишенами в докере, разворачиваются таблицы, заполняются и тестируется pl/sql код каждого пекеджа ? бывает и такое, думаю не такая уж и редкость для продуктов в которых ключевая роль у базы данных. Ну, вот у нас так сейчас. Правда, не оракл. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 16:54 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 да, у меня каша ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 16:57 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
MasterZiv Melkomyagkii_newbi пропущено... бывает и такое, думаю не такая уж и редкость для продуктов в которых ключевая роль у базы данных. Ну, вот у нас так сейчас. Правда, не оракл. тож, оракл. на каждый коммит собираются стенды и гоняются все тесты. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 17:15 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
AmKad Господа, вы обсуждаете абстрактные микросервисы в вакууме. Опишите задачу, чтобы можно было предметно обсуждать, из каких микро- или наносерсивов может состоять система, ее решающая. Вполне конкретно всё. Есть многозвенная система с одной центральной базой данных. Люди испытывают проблемы с производительностью БД. Начинают проетк по распиливанию системы и БД на микросервисы. В ЧЁМ БУДЕТ В ТАКОЙ АРХИТЕКТУРЕ ПРОФИТ, ВЫГОДА? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 17:17 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
crutchmaster Sayan Malakshinov ох, да я вообще хотел бы увидеть хоть один реальный, не надуманный пример, когда вынос логики из базы на апп.сервер реально поможет снизить нагрузку Вопрос религиозный. Если тебя ткнуть носом в реальный пример, всё равно будешь орать, "ви всё врёти!". Ну так, ткни... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 17:19 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Класик-- Что такое! -- сказал вдруг Балаганов, переставая работать. -- Три часа уже пилю, а оно все еще не золотое. Паниковский не ответил. Он уже все понял и последние полчаса водил ножовкой только для виду. -- Ну-с, попилим еще! - бодро сказал рыжеволосый Шура. -- Конечно, надо пилить, - заметил Паниковский, стараясь оттянуть страшный час расплаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 18:17 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgul Ну использовать на проде БД в docker - ИМХ такая себе идея. mad_nazgul А вот для части интеграционных тестов - почему бы и нет. Как минимум получаем контролируемое окружение. Но все равно. В настройках где-то прописаны настройки подключения к БД, в т.ч. хост, название БД, логин/пароль. Если тестировать, то по хорошему нужно для каждой поднятой БД эти настройки писать и как-то передать приложению. Желательно автоматом. Поэтому docker - норм решение, чтобы протестировать какую-то логику работы с БД. Т.к. это проще, чем поднимать на каждый тест БД на уже существующем хосте. Как бы в docker - это уже будет сделано. Главное туда скрипты закинуть для инициализации данных. есть мнение что кто-то что-то "не договаривает", вся эта история про пространства имен и пр. работает _только_ из линукса, больше нигде она не работает: в MS крутится линусковая виртуалка, в OS X - тоже виртуалка, поэтому с рабочего десктопа до докеровского окружения толком достучаться нельзя (попробуй-те ради развлечения запустить отладку PL/SQL в SQL Developer), а для меня "возможность запускать тесты на декстопе" - это в первую очередь возможность отладки, которая по сути в докере-то и отсутствует, т.е. или кто-то на самом деле никакие интеграционные тесты не пишет, либо эти интеграционные тесты никакие не интеграционные и не тесты. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 18:18 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
MasterZiv В ЧЁМ БУДЕТ В ТАКОЙ АРХИТЕКТУРЕ ПРОФИТ, ВЫГОДА? у микросервисов есть эластичность (не путать с производительностью и масштабируемостью), а у немикросервисов - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 18:19 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
У микросервисов может отсутствовать SPOF. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 18:35 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev А как делать "не примитивную" транзакцию? Вот например бизнес процесс эквайринга сбербанка. Счет 100 рублей, человек оплатил 100 рублей со своей карточки, 3 рубля "усушилось" в Сбербанка, 97 руб дошло. Ok. Человек пишет заявление, что оплата была ошибочной. Ему нужно вернуть деньги. Сделать rollback. Кто и как будет возврашать? вы реально ничего не слышали про патерн Saga ? Sayan Malakshinov остановись на этом и прекрати фантазировать о том, чего не ведаешь. я не ведаю откуда такая серость. так давай, разрушь мой маленький и уютный мирок, где даже внутри организации, типа сбера вылазит "вот где карту открывали, туда и идите". в котором ларьке у тебя опыт ? я не хочу фантазировать, я просто хочу понять где столь примитивный взгляд на вещи мог сохранится. ведь в моих краях даже ларек в рамках транзакции начислит всякие бонусные очки или запроцессит какую-нить подарочную карту. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 19:20 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 вы реально ничего не слышали про патерн Saga ? Не слышал. Нужды не было. Но сомневаюсь, что какие нибудь патерны могут бизнес проблемы исправить. Бизнес кейс привел. 3-и рубля комиссии которые забрал себе Сбербанк, он врят ли отдаст. Что с Saga, что без Saga. Вот такие вот "фин транзакции" когда "это всегда туча сервисов, начиная с VISA/Mastercard, заканчивая парой банков посредников" Если сможете объяснить, откуда при возврате средств брать 3-и рубля комиссии и как их показать бухгалтерии - буду рад. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 19:51 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Капец. Как вообще SWIFT-у после этого доверять можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 20:00 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 я не хочу фантазировать H5N1 ведь в моих краях ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 20:05 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Не слышал. Нужды не было. Но сомневаюсь, что какие нибудь патерны могут бизнес проблемы исправить. Бизнес кейс привел. 3-и рубля комиссии которые забрал себе Сбербанк, он врят ли отдаст. Что с Saga, что без Saga. Вот такие вот "фин транзакции" когда "это всегда туча сервисов, начиная с VISA/Mastercard, заканчивая парой банков посредников" Если сможете объяснить, откуда при возврате средств брать 3-и рубля комиссии и как их показать бухгалтерии - буду рад. ну известный патерн, на хабре наверно через день наверно о нем судачат. вкратце ты там описываешь, что надо сделать в рамках "транзакции" и что в рамках отката. что там в откате ты нарисуешь, тебе решать. надо вернуть включаю комиссию - рисуй включая. суть то не в этом, суть в том, что все в современном мире длинные распределенные саги. от платежа за мороженого, до withdrawal с Binance биржи это распределенные транзакции цепляющие тучи сервисов. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 20:05 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mayton У микросервисов может отсутствовать SPOF. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2021, 06:56 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Андрей Панфилов mayton У микросервисов может отсутствовать SPOF. Давай смягчим это утверждение. Пускай будет не SPOF, но нечто, декларирующее устойчивость бизнеса, в условиях когда часть сервисов находятся в down-time. Про БД мы такое сказать не можем. Если датацентр упал (вследствие пожара или землетрясения) - то и все сервисы - недоступны. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2021, 10:06 |
|
|
start [/forum/topic.php?fid=52&msg=40062128&tid=1880263]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
132ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 248ms |
0 / 0 |