Побочка микросервисов или неверный дизайн?
От: busk  
Дата: 19.05.25 06:29
Оценка:
Тут буквально за пару недель в 3 популярных сервисах столкнулся с неактуальностью данных, а после знакомства с микросервисами понял, что такая вещь там нормально.
у тинькова в приложении при переводе на скрине перевода текущая сумма — сумма перевода != остатку (не учитывалась сумма последней операции)
у озона в заказе неверно показывалась дата доставки на странице заказов, но если перейти в страницу заказа самого то всё корректно показывалось
на sports.ru вчера вот вчера матч Ростов — Зенит показывал 0 — 1 но показывались голы как Зенита так и Ростова, но гол Ростова был отменен, но он висел больше 10 минут на странице даже после ф5.

собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?
Re: Побочка микросервисов или неверный дизайн?
От: Qulac Россия  
Дата: 19.05.25 06:33
Оценка:
Здравствуйте, busk, Вы писали:

B>Тут буквально за пару недель в 3 популярных сервисах столкнулся с неактуальностью данных, а после знакомства с микросервисами понял, что такая вещь там нормально.

B>у тинькова в приложении при переводе на скрине перевода текущая сумма — сумма перевода != остатку (не учитывалась сумма последней операции)
B>у озона в заказе неверно показывалась дата доставки на странице заказов, но если перейти в страницу заказа самого то всё корректно показывалось
B>на sports.ru вчера вот вчера матч Ростов — Зенит показывал 0 — 1 но показывались голы как Зенита так и Ростова, но гол Ростова был отменен, но он висел больше 10 минут на странице даже после ф5.

B>собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?


Согласованность в итоге, а не ACID. Наступление итога зависит от быстродействия. Я тоже с подобным где-то сталкивался.
Программа – это мысли спрессованные в код
Re: Побочка микросервисов или неверный дизайн?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 19.05.25 07:02
Оценка: +1
Здравствуйте, busk, Вы писали:

B>Тут буквально за пару недель в 3 популярных сервисах столкнулся с неактуальностью данных, а после знакомства с микросервисами понял, что такая вещь там нормально.

Типично для микросервисов, но "нормальным" это сложно назвать.

B>у тинькова в приложении при переводе на скрине перевода текущая сумма — сумма перевода != остатку (не учитывалась сумма последней операции)

В этом случае я не думаю что микросервисы виноваты. Проблема на уровне UI, операция перевода не вызывает обновление остатков на другой странице интерфейса.

У меня было круче. Приложение сбера без перезапуска не обновляло остаток вообще после внесения денег через банкомат. Тут уже только на UI бащ

B>у озона в заказе неверно показывалась дата доставки на странице заказов, но если перейти в страницу заказа самого то всё корректно показывалось

А вот это точно микросервисы.

B>на sports.ru вчера вот вчера матч Ростов — Зенит показывал 0 — 1 но показывались голы как Зенита так и Ростова, но гол Ростова был отменен, но он висел больше 10 минут на странице даже после ф5.

Тут тоже вряд ли микросервисы, скорее просто косяк UI.

B>собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?

Это и есть баги
Re: Побочка микросервисов или неверный дизайн?
От: swame  
Дата: 19.05.25 08:08
Оценка:
Здравствуйте, busk, Вы писали:

B>собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?


В компьютерных науках есть только две сложные проблемы: аннулирование кэша, придумывание названий и ошибка на единицу

Отредактировано 19.05.2025 8:42 swame . Предыдущая версия .
Re: Побочка микросервисов или неверный дизайн?
От: TG  
Дата: 19.05.25 10:19
Оценка:
Здравствуйте, busk, Вы писали:

B>Тут буквально за пару недель в 3 популярных сервисах столкнулся с неактуальностью данных, а после знакомства с микросервисами понял, что такая вещь там нормально.

Такие вещи в распределенных системах неизбежны. Хотя с бытовой точки зрения и ненормальны.

B>у тинькова в приложении при переводе на скрине перевода текущая сумма — сумма перевода != остатку (не учитывалась сумма последней операции)

B>у озона в заказе неверно показывалась дата доставки на странице заказов, но если перейти в страницу заказа самого то всё корректно показывалось
Надо разбираться с каждым случаем отдельно.
Может быть и кривой дизайн сервисов и их взаимодействий.
Могут быть баги на UI. Те же даты, например, могут "поплыть" просто от смены часового пояса.

B>на sports.ru вчера вот вчера матч Ростов — Зенит показывал 0 — 1 но показывались голы как Зенита так и Ростова, но гол Ростова был отменен, но он висел больше 10 минут на странице даже после ф5.

Думаю, информацию на сайте обновляет живой человек и в данном случае он просто отвлёкся.

B>собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?

Это не всегда баги.
Баг — это несоответствие реализации требованиям спецификации вашей системы (ну или системные сбои типа падения приложения с Out of memory).
В распределенных системах (с ненадежными хостами и сетями) невозможно добиться абсолютной согласованности за конечное время.
Поэтому никто в здравом уме не будет стремиться реализовать стопроцентную согласованность. И поэтому неизбежны операции, где согласованность теряется.
Re[2]: Побочка микросервисов или неверный дизайн?
От: · Великобритания  
Дата: 19.06.25 10:18
Оценка: :)
Здравствуйте, swame, Вы писали:

B>>собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?

S>

S>В компьютерных науках есть только две сложные проблемы: аннулирование кэша, придумывание названий и ошибка на единицу

Более точно — есть ровно 2.9999999999978 проблем: аннулирование кэша, придумывание названий, ошибка на единицу и арифметика с плавающей точкой.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Побочка микросервисов или неверный дизайн?
От: DiPaolo Россия  
Дата: 19.06.25 12:03
Оценка: +2
Похоже на CAP-теорему в действии
Патриот здравого смысла
Re[2]: Побочка микросервисов или неверный дизайн?
От: LaptevVV Россия  
Дата: 13.10.25 05:31
Оценка:
G>У меня было круче. Приложение сбера без перезапуска не обновляло остаток вообще после внесения денег через банкомат. Тут уже только на UI бащ
Оно и сейчас не обновляет.
Делаю перевод. На странице с переводами сумма скорректирована.
Перехожу на главную страницу — сумма до перевода.
Нажимаю обновить страницу.
Тогда становится правильная сумма.

B>>собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?

G>Это и есть баги
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Побочка микросервисов или неверный дизайн?
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.10.25 06:05
Оценка: +1
Здравствуйте, busk, Вы писали:

B>собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?


Неверный дизайн.

Использована распределённая eventually consistent структура данных там, где её использование неуместно.

Но боюсь, нонешнему поколению смузихлёбов и ценителей лавандового рафа этого не понять.
Re[3]: Побочка микросервисов или неверный дизайн?
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.10.25 06:07
Оценка:
Здравствуйте, ·, Вы писали:

·>Более точно — есть ровно 2.9999999999978 проблем: аннулирование кэша, придумывание названий, ошибка на единицу и арифметика с плавающей точкой.


Проблема с арифметикой с плавающей точкой решается легко: её можно и вовсе не использовать (если вы не на JS, конечно, программируете).
Re: Побочка микросервисов или неверный дизайн?
От: Qulac Россия  
Дата: 13.10.25 06:40
Оценка:
Здравствуйте, busk, Вы писали:

B>Тут буквально за пару недель в 3 популярных сервисах столкнулся с неактуальностью данных, а после знакомства с микросервисами понял, что такая вещь там нормально.

B>у тинькова в приложении при переводе на скрине перевода текущая сумма — сумма перевода != остатку (не учитывалась сумма последней операции)
B>у озона в заказе неверно показывалась дата доставки на странице заказов, но если перейти в страницу заказа самого то всё корректно показывалось
B>на sports.ru вчера вот вчера матч Ростов — Зенит показывал 0 — 1 но показывались голы как Зенита так и Ростова, но гол Ростова был отменен, но он висел больше 10 минут на странице даже после ф5.

B>собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?


Тут в мясной лавке еще более интересное наблюдал. Касса отправляет платеж в банк и надолго зависает при каждой попытке отправить, а у покупателя в банковском приложении платеж показывается. Т.е. запрос в банк ушел, ответа не приходило.
Программа – это мысли спрессованные в код
Re[2]: Побочка микросервисов или неверный дизайн?
От: AleksandrN Россия  
Дата: 13.10.25 07:15
Оценка:
Здравствуйте, Qulac, Вы писали:

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


Q>Касса отправляет платеж в банк и надолго зависает при каждой попытке отправить, а у покупателя в банковском приложении платеж показывается. Т.е. запрос в банк ушел, ответа не приходило.


Тут больше похоже на проблемы со связью. Платёжный терминал, в случае, если не получил ответ на запрос, должен посылать запрос на отмену транзакции. А по окончании операционного дня терминал должен послать транзакцию свеки итогов.
Re[3]: Побочка микросервисов или неверный дизайн?
От: Qulac Россия  
Дата: 13.10.25 07:20
Оценка:
Здравствуйте, AleksandrN, Вы писали:

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


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


Q>>Касса отправляет платеж в банк и надолго зависает при каждой попытке отправить, а у покупателя в банковском приложении платеж показывается. Т.е. запрос в банк ушел, ответа не приходило.


AN>Тут больше похоже на проблемы со связью. Платёжный терминал, в случае, если не получил ответ на запрос, должен посылать запрос на отмену транзакции. А по окончании операционного дня терминал должен послать транзакцию свеки итогов.


Да должен добавить в очередь отправки. Тут возможно пуш не приходил.
Программа – это мысли спрессованные в код
Re: Побочка микросервисов или неверный дизайн?
От: AleksandrN Россия  
Дата: 13.10.25 07:26
Оценка: +1
Здравствуйте, busk, Вы писали:

B>собственно, получается пользователи думают баги, а по факту просто надо к этому привыкать?


Особенность распределённых систем. Гуглить "теорема CAP" и "теорема PACELC". В описанных случаях — похоже, что данные записались в одну реплику БД, прочитались из другой и было большое отставание репликации.

Т.е. —
  было как то так
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.