Size: a a a

Software Design/Architecture/Zen

2021 May 06

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
и что будет делать фолбэк? какая альтернатива отправки сообщения об ошибке?
любая же система (теоретически) может отказать
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
В вопросе автора вполне обычная ситуация падения сети или БД между несколькими транзакциями.

В вашем же вопросе ситуация, когда кролик сообщение принял, но не доставил.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Там как раз есть разбор разных сценариев и настроек приводящих к потере сообщений
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Любая откажет, но там потом умножение вероятности для разных компонентов что и то и то недоступно. Так же если у тебя нет реплик то сам виноват
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
А если не принял? И почему именно кролик - других ивент-басов что ли нет?
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
А если не принял, то и в БД евент после этого не пометится отправленным.
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
И крон потом доотправит
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
блин. если же разбирать отказы, то может ивент вообще в БД не поместиться - и тогда никто не узнает, что его надо "до-отправить"
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Запись эвента идёт в одной транзакции с сущностью
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Если не влезут, то оба
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
а фейл этой транзакции - не обрабатывается?
допустим, БД сервер лежит какое-то время
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Давай для начала уточним, ты ж понимаешь что до нуля вероятность отказа мы не можем уменьшить?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Или ты адепт 100% uptime?
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Ну клиенту прилетит 500 Server Error если БД сейчас лежит
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
клиент увидит ошибку. а мы никуда ничего не запишем и не будем знать, пока кто-то не пожалуется
источник

OR

Olexandr Ryabchuk in Software Design/Architecture/Zen
А логи тебе зачем?
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Вы никуда логи ошибок БД не пишете?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Сделаешь ретрай с бэкофом
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Вот. Теперь возвращаемся к вопросу про отказ БД. Если эта ситуация встречается раз в 5 лет - зачем все эти ивенты с сагами?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ошибку увидеть в логах или каком сэнтри можно
источник