Shub
Vasily
Ayrat
Vasily
Хватило бы енама
Vasily
Или рекорда с полем type и message
Vasily
То, что я вижу, это шиза
Ayrat
Ayrat
У него же таг есть
Ayrat
Поэтому в рекорде это не надо
Vasily
Бля
Vasily
Я про то, что там в du одинаковый тип во всех кейсах
Vasily
Вопрос, зачем
Ayrat
Короче, я нихуя не понял снова
Vasily
Кортеж du,message
Vasily
Смотрится ок
Vladimir
во как на пульсаре выглядит
https://github.com/fsharplang-ru/pulsar-client-dotnet/blob/develop/src/Pulsar.Client/Internal/ClientCnx.fs#L192-L228
Vladimir
читается одно поле и конструируется нужный объект из DU
Vasily
Vladimir
шо?
Shub
Shub
не советовал
Ayrat
не советовал
Там внизу написано что он хейтит этот дизайн!!1
Shub
а в книжке написано, что наоборот, очень одобряет
Shub
ивенты у него там примерно так и смоделированы
Shub
ну в общем-то я свой ответ нашел, спасибо всем
Vasily
Vasily
Реальная хуета же
Ayrat
Я тут кстати недавно сделал ЕнумЛайк конвертер для ДУ
Ayrat
Ща покажу
Ayrat
https://gist.github.com/Szer/c27dffacf6dbe0997519c704b3b13a05
Ayrat
type Foo =
| A
| Bb
| BB
type Test = {
Id: string
Field: Foo
}
let t = {Id = "1"; Field = Bb}
let json = Json.serializeUCamel t //"{"id":"1","field":"Bb"}"
Json.deserialize<Test> json
//val it : Test = { Id = "1"
// Field = Bb }
Ayrat
Это не енум, а ДУ.
Shub
Реальная хуета же
ну справедливости ради - это блог. там заметно, как менялось его понимание от начала к концу.
Shub
FsCodec правда превратился в барахолку, но это такое
Ayrat
Ayrat
Но, это хорошо
Ayrat
Что там есть!
Shub
еще там есть способ писать свои конверторы. щас покажу
Shub
https://gist.github.com/eglyph/620f810ab49f694bcc5f6c88a3b34733
Shub
не спрашивайте, зачем мне это нужно
Ayrat
Ayrat
Опять же, все есть. Неясно что пошло не так
Shub
по-моему, кастомный конвертор в 4 строчки - это хорошо
Ayrat
Ayrat
Такой же опшн для нутонсофта немного больше
Shub
хотя постойте, это ж из TypeShape кажется
Shub
Shub
FsCodec просто обертка
Anonymous
как в ваших системах решается проблема отслеживания сообщения по всей цепочке микросервисов от точки входа до точки выхода? и решается ли вообще?
Ayrat
Ayrat
Shub
Ayrat
Есть коррелейшн айди
Ayrat
Но он работает через пизду
Ayrat
(не работает)
Ayrat
Кто-то забывает прокидывать, кто-то забывает логировать
Ayrat
Кто-то в хедеры кладет, кто-то в боди, кто-то в квери
x
Демократия
Anonymous
мне эту проблему кровь из носа надо решить за следующие, скажем, 4 месяца. muid в системе-то есть, аналог corrId, но проблема в том, что бОльшая часть системы это джоины по разным топикам Кафки, каждые из которых обладают своими muid'ами
Anonymous
в системе порядка 25 микросервисов, половина в облаках, другая на земле
Anonymous
в результате любого джоина у тебя уже внезапно два разных muid'а
Shub
Anonymous
во-во, вот про это и вопрос
Anonymous
как прокидывать контекст так чтобы перед потомками не было стыдно
Ayrat
Anonymous
и что должно быть в таком контексте
Shub
у нас такого фреймворка нет, мы можем максимум отследить входящий запрос до момента исходящего. ну скажем кто-то дернул апишечку, а нам пришлось вызвать другой микросервис
Anonymous
P.S. языки разные. от питона до дотнета
Ayrat
Языки разные, способы передачи разные
Shub
Anonymous
мы ж не волмарт
Shub
у нас например проблема в том, что разработчики даже в пределах одной команды клали болт на соррИд
Ayrat
Anonymous
и этому миросервису можно отдавать метаданные на тему того, "я такой-то такой-то сейчас на таком-то этапе".
Shub