Size: a a a

Архитектура ИТ-решений

2021 April 26

AZ

Alexander Zaitsev in Архитектура ИТ-решений
собственно об этом и был вопрос - как принято это делать
источник

AZ

Alexander Zaitsev in Архитектура ИТ-решений
хотя хороший вопрос - что эта информация мне даст, учитывая, что в рантайме я парсер схемы подтянуть не смогу на принимающей строне. разве что ранее определение, что схемы поломаны без обратной совместимости и сразу красиво падать
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, номер версии схемы всяко стоит передавать, а дальше зависит от архитектуры.
Для avro, кстати, есть хранилища схем, из которых можно что-то вытаскивать.
Для flatbuffer - не в курсе
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Обычно по entrypoint уже понятно, что именно должно прилететь.
источник

AZ

Alexander Zaitsev in Архитектура ИТ-решений
тут так не получится, к сожалению - канал связи один
источник

AZ

Alexander Zaitsev in Архитектура ИТ-решений
> Для avro, кстати, есть хранилища схем, из которых можно что-то вытаскивать.

я слышал только про Confluent Scheme Registry
источник

PD

Phil Delgyado in Архитектура ИТ-решений
А, ну тогда надо передавать какой-то код типа сообщения в формате
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ага, я про него )
источник

AZ

Alexander Zaitsev in Архитектура ИТ-решений
в целом вроде вопрос решается передачей сообщений через union, в котором каждый тип - это сообщение. Получается что-то вроде такого:
namespace YourGame.Sample;
table EventTwo {
   value:string;
}
table EventOne {}
union MessageType {  
 EventOne,
 EventTwo
}
table Message {
 content:MessageType;
}
root_type Message;
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Как-то это выглядит изрядно стремно и не очень удобно
источник

AZ

Alexander Zaitsev in Архитектура ИТ-решений
честно - я пока что не пробовал другие форматы и как сделано там. Я пока что из неудобств вижу только то, что схема сообщений определяется на этапе сборки принимающей стороны и не может меняться в рантайме. Насколько это критично - я сейчас как раз сижу и думаю
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, схема сообщений вообще обычно не может определятся в рантайме, как там нормально десериализацию не сделать.
Я бы советовал сначала работать с более простыми форматами, а уже потом думать о flatbuffer
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Если нет какого-то дикого хайлоада - то банальный zipped json вполне работает для почти всех применений.
Если websocket - то посмотри на STOMP, например, как пример протокола
источник

AZ

Alexander Zaitsev in Архитектура ИТ-решений
Про STOMP раньше не слышал - спасибо!
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Он не очень удобный, конечно, но можно смотреть на него, как на идею.
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
Переписка выше попахивает premature optimization прям
источник

AZ

Alexander Zaitsev in Архитектура ИТ-решений
Это не имеет значения абсолютно, так как я играюсь
источник

MY

Maxim Yunusov in Архитектура ИТ-решений
Коллеги, а неподскажет ли кто надежную но открытую реализацию s3 хранилища для серьезной работы ?
источник

АЛ

Алексей Лосев... in Архитектура ИТ-решений
источник

MY

Maxim Yunusov in Архитектура ИТ-решений
Да, спасибо. Цеф мы пробовали. Требует весьма квалифицированной поддержки. Надеялся что появилось что-нибудь более чинное.
источник