|
|
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
hVostt, Два списания с минусом и встанут в очередь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 20:13 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
hVosttViPRosА как Event Sourcing выкусывает это? Все операции выстраиваются в очередь, потому что по-другому просто это не работает. Если 2 операции пытаются выполнить изменения над одной и той же версии счёта, то первая прокатывает, вторая откатывается. Всё просто, абсолютно гарантировано, что одна операция будет следовать за другой, учитывая все предыдущие изменения. Ты понимаешь положение второго члена семьи? Он, как дурак, потерял час, набрал корзину, а в кассе стресс (а возможно и по рыле - взял последнюю бутыль пиво, а алкашам не досталось)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 20:29 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
hVosttViPRosА как Event Sourcing выкусывает это? Все операции выстраиваются в очередь, потому что по-другому просто это не работает. Если 2 операции пытаются выполнить изменения над одной и той же версии счёта, то первая прокатывает, вторая откатывается. Всё просто, абсолютно гарантировано, что одна операция будет следовать за другой, учитывая все предыдущие изменения. и это воще то называется - однопользовательский доступ БЕЗ ГАРАНТИИ хуже не придумаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 20:31 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
Petro123hVostt, Два списания с минусом и встанут в очередь) В очередь станут операции, которые должны списать, исходя из текущего положения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 21:54 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRosТы понимаешь положение второго члена семьи? Он, как дурак, потерял час, набрал корзину, а в кассе стресс (а возможно и по рыле - взял последнюю бутыль пиво, а алкашам не досталось)? Он спокойно набирал корзину и никто ему не мешал. По-твоему, ему даже корзинку не должны выдать и пустить в магазин, пока жена в соседнем отделе почитывает этикетки? В общем, либо примеры не айс, либо ты чего-то не понимаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 21:57 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRosи это воще то называется - однопользовательский доступ БЕЗ ГАРАНТИИ хуже не придумаешь Ты вообще слышал когда-нибудь про концепцию разделения команд и запросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 22:02 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
hVosttViPRosТы понимаешь положение второго члена семьи? Он, как дурак, потерял час, набрал корзину, а в кассе стресс (а возможно и по рыле - взял последнюю бутыль пиво, а алкашам не досталось)? Он спокойно набирал корзину и никто ему не мешал. По-твоему, ему даже корзинку не должны выдать и пустить в магазин, пока жена в соседнем отделе почитывает этикетки? В общем, либо примеры не айс, либо ты чего-то не понимаешь. Пример то что надо - неделимые ресурсы и многопользовательский доступ к этим ресурсам в онлайн (иногда тут еще и приоритеты доступа, вплоть до отмены чужих блокировок и действий). Это сплошь и рядом, где требуется гарантированное обслуживание по некоторым правилам. "понимаешь" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 22:08 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
hVosttViPRosи это воще то называется - однопользовательский доступ БЕЗ ГАРАНТИИ хуже не придумаешь Ты вообще слышал когда-нибудь про концепцию разделения команд и запросов? Да мне пофиг все эти детские вербальные забавы. "команда", "запрос" и т.д. - пустые слова без формализации в каком то контексте. можно "дать" "команду" "выполнить" "запрос" :) можно "запросить" разрешение на выполнение "команды" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 22:12 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRosПример то что надо - неделимые ресурсы и многопользовательский доступ к этим ресурсам в онлайн (иногда тут еще и приоритеты доступа, вплоть до отмены чужих блокировок и действий). Это сплошь и рядом, где требуется гарантированное обслуживание по некоторым правилам. "понимаешь" :) Чтение не блокирующее. Запись не блокирующая. Чё ещё надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 22:24 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRosДа мне пофиг все эти детские вербальные забавы. "команда", "запрос" и т.д. - пустые слова без формализации в каком то контексте. можно "дать" "команду" "выполнить" "запрос" :) можно "запросить" разрешение на выполнение "команды" :) Ну если ты терминологией не владеешь, к чему тогда рассуждения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 22:35 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
hVostt, да мне то что, живи в своем надуманном мире команд и запросов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 22:50 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRoshVostt, да мне то что, живи в своем надуманном мире команд и запросов :) ну и живу, и многие разработчики живут, делают великолепные масштабируемые, отказоустойчивые, гибкие системы. а кто-то как застрял на уровне работы с единственном инстансом РСУБД, так и сидят там поныне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 22:54 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRoshVostt, да мне то что, живи в своем надуманном мире команд и запросов :) Надуманный мир? Смешно. Принцип определён в конце 1980-х Бертраном Мейером. Но тебе конечно же наплевать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 22:58 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
Забавно то, что во многих статьях на эту тему упоминаются именно банковские системы. В таком примерно ключе: если вы разрабатываете систему, где целостность данных зависит от операций над ними, к примеру вы расплачиваетесь картой на Барбадосе, то вам стоит посмотреть в сторону CQRS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:16 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
skyANA, Ну уж сегодня-то, когда ни одна конференция практически не обходится без докладов по этой теме, или около того, стыдно как-то не знать. Даже если не уважаешь литературу, технические статьи и плевать хотел на любые профессиональные коммьюнити. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:25 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
hVostt, абсолютно наплевать, кто там че пишет вот был кейс и давай решение то что ты предложил - обычный оптимистический подход, по русски это называется "авось" (не знаю - почему его называют оптимистической блокировкой) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:28 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRos, вот первое попавшееся: https://softwareengineering.stackexchange.com/questions/349546/es-cqrs-concurrency-handling ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:30 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
skyANA, авось там описан ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:33 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRos, ну всё теперь всем надо отказаться от Optimistic Locking, потому как ты обозвал это авосем вот ещё презентаха: http://ookami86.github.io/event-sourcing-in-practice/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:37 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
skyANA, ты хоть читаешь что постишь блин? This version checking is called optimistic locking and is a general locking mechanism. One other mechanism is pessimistic locking when other writings are blocked(as in not started) until the current one completes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:38 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
skyANA, да пошли вы именно о том и речь - что оптимистический подход работает только там, где никто перед "юзером" не несет ответственности, т.е. пох - сколько он затратил на то что бы получить отрицательный результат- нет гарантированного обслуживания блин, вы перестаньте всяких дебилов читать, а прочтите про СМО и т.д. - это как никак наука ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:41 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRosskyANA, ты хоть читаешь что постишь блин? This version checking is called optimistic locking and is a general locking mechanism. One other mechanism is pessimistic locking when other writings are blocked(as in not started) until the current one completes. Читаю конечно, сказать-то что хотел? Парни для тебя и слайдик слабали: http://ookami86.github.io/event-sourcing-in-practice/#making-eventsourcing-work/18-concurrent-modifictations.md ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:45 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRosskyANA, да пошли вы именно о том и речь - что оптимистический подход работает только там, где никто перед "юзером" не несет ответственности, т.е. пох - сколько он затратил на то что бы получить отрицательный результат- нет гарантированного обслуживания блин, вы перестаньте всяких дебилов читать, а прочтите про СМО и т.д. - это как никак наука Я не вижу никаких проблем. Как раз таки, у тебя есть инструмент и гарантии, чтобы показать пользователю, что операцию надо повторить, или уточнить, или в некоторых случаях проявить хотя бы зачатки интеллекта и автоматизировать вопрос по слиянию не конфликтующих изменений. Просто сделай это в UI и в прикладной логике, в чём проблема? Вопрос в обеспечении гарантий, их тебе дают. Чё ты с этим будешь делать, заставлять страдать пользователя, или сделаешь его жизнь счастливой, зависит от того, насколько ты ленивая жопа )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:49 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
ViPRosskyANA, да пошли вы именно о том и речь - что оптимистический подход работает только там, где никто перед "юзером" не несет ответственности, т.е. пох - сколько он затратил на то что бы получить отрицательный результат- нет гарантированного обслуживания блин, вы перестаньте всяких дебилов читать, а прочтите про СМО и т.д. - это как никак наука Не кипятись. Программирование - это технология сосздания программного обеспечения. Технология - это наука. CQRS (Command Query Responsibility Segregation) - это принцип программирования. То есть тоже наука. Бертран Мейер - создатель языка программирования Эйфель. С 1983 по 1986 гг. - приглашенный профессор в университете Калифорнии (Санта-Барбара). С 2011 года является заведующим кафедры «Программная инженерия и верификация программ» в Санкт-Петербургском государственном университете информационных технологий, механики и оптики. C 2015 года преподаватель в университете Иннополис (Иннополис, Республика Татарстан, Россия). А никакой не дебил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:54 |
|
||
|
web, корпоративные системы и блокировки
|
|||
|---|---|---|---|
|
#18+
skyANA, Да, спасибо, это очень наглядная картинка: http://ookami86.github.io/event-sourcing-in-practice/#making-eventsourcing-work/18-concurrent-modifictations.md ViPRos, Если не видишь, то поясню, пытаешься сделать два раза DepositPerformed c Version=2, второй команде будет отворот поворот, но это не значит, что пользователь должен обязательно пострадать. Здесь можно применить целый каскад решений, у тебя все карты в руках. Ты можешь получить все изменения между текущей и твоей версией, и прям один за другим их применять и мержить, или проинформировать пользователя, что конкретно произошло, и что делать. А если настолько лень, да.. можешь показать модалку с ошибкой и послать любимого юзера на все 4. Вот что тут непонятного? Какую проблему ты декларируешь? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:54 |
|
||
|
|

start [/forum/topic.php?fid=33&msg=39618562&tid=1547239]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 168ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...