Size: a a a

2020 June 24

ДБ

Дмитрий Башинский... in F# Chat
а кто то работал с Event Sourcing?
источник

AH

Ayrat Hudaygulov in F# Chat
Igor
тут по моему все разделились на 2 группы - одни любят REST, другие RPC. спорить будете бесконечно
а можно смешивать
источник

AH

Ayrat Hudaygulov in F# Chat
Дмитрий Башинский
а кто то работал с Event Sourcing?
кто-то работал
источник

ДБ

Дмитрий Башинский... in F# Chat
версионость событий большая боль?
источник

ДБ

Дмитрий Башинский... in F# Chat
хендлеры для старых событий в коде на века?
источник

AI

Arthur Irgashev in F# Chat
Дмитрий Башинский
а кто то работал с Event Sourcing?
Да
источник

AH

Ayrat Hudaygulov in F# Chat
Дмитрий Башинский
версионость событий большая боль?
да, потому что тебе надо учитывать не только обратную совместимость, а ещё и вперед смотрящую!
Например ты выкатил новую версию с новым лейаутом евента, а внезапно всё по пизде пошло. Евенты-то не откатишь, а они уже пошли по трубам
Тебе надо откатить сервис и надо быть уверенным что он сможет работать даже с евентами нового типа
источник

AH

Ayrat Hudaygulov in F# Chat
Решение обычно несложное, но это надо иметь в виду просто
источник

AH

Ayrat Hudaygulov in F# Chat
например выставить в своём десериализаторе - игнорируй неизвестное говно
источник

AI

Arthur Irgashev in F# Chat
Дмитрий Башинский
версионость событий большая боль?
Не прям боль, скорее тебе никогда не получится убрать часть когда
источник

AI

Arthur Irgashev in F# Chat
Если не мигрировать (преобразовать) старые ивенты в базе в новые
источник

AI

Arthur Irgashev in F# Chat
Но такое далеко не всегда возможно
источник

AH

Ayrat Hudaygulov in F# Chat
Дмитрий Башинский
хендлеры для старых событий в коде на века?
ну у меня скорее было так, да. Потому что - ты не знаешь где эти евенты сныканы. Ходить по всем евент стораджам и мигрировать на деплое одного сервиса ты не будешь
источник

AH

Ayrat Hudaygulov in F# Chat
better safe than sorry
источник

AH

Ayrat Hudaygulov in F# Chat
а код чо, хлеба не просит, пусть лежит
источник

AH

Ayrat Hudaygulov in F# Chat
ой щас спам пойдёт
источник

ДБ

Дмитрий Башинский... in F# Chat
если я делаю:
1) зашла комманда, сделала пачку событий
2) закинули события в очередь
3) 1 дженерик обработчик просто в event store её положил, остальные обрабатывают так как им нужно (меняю тот же read Store)
обработчики не читают все события для обновления read store, они просто берут из read store, делают apply на него, и сохраняют.
4) event store с начала читаю в каких то отдельных случаях, дабы собрать что то с начала, но постоянно читать мне его не нужно

Это читерский ES?
источник

S

S.Mahdi | Unknown Pl... in F# Chat
Hi,
what is the difference between these two
let func1 (p1:string) (p2:string) = ...
and
let func2 (p1:string, p2:string) = ...
источник

AH

Ayrat Hudaygulov in F# Chat
Дмитрий Башинский
если я делаю:
1) зашла комманда, сделала пачку событий
2) закинули события в очередь
3) 1 дженерик обработчик просто в event store её положил, остальные обрабатывают так как им нужно (меняю тот же read Store)
обработчики не читают все события для обновления read store, они просто берут из read store, делают apply на него, и сохраняют.
4) event store с начала читаю в каких то отдельных случаях, дабы собрать что то с начала, но постоянно читать мне его не нужно

Это читерский ES?
у тебя нарушена последовательность. Ты в начале должен заперсистить евент в сторадж, а после этого раскатывать его по консумерам
источник

AH

Ayrat Hudaygulov in F# Chat
иначе может случиться такое что порядок записи не такой или вообще не удалось записать
источник