Size: a a a

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

2021 April 16

S

Sergey in Архитектура ИТ-решений
с кодогенерацией в Go как раз проще
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Как я понимаю, на Go без кодогенерации очень сложно )
источник

П

Пух in Архитектура ИТ-решений
Альтернативы там не оч прост)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
В ранней Java тоже была любовь к кодогенерации, а потом появились нормальные инструменты )
источник

w

whoami in Архитектура ИТ-решений
Я нашёл в доках по android про grpc, рекомендуют его, так как меньше данных передаётся (в низкоскоростных сетях это плюс), и я так понял можно организовать двунаправленный стрим данных через http2. Довольно интересно.

Ещё я замечал, что например facebook, instagram активно используют mqtt, хотя вроде это для телеметрии и iot
источник

S

Sergey in Архитектура ИТ-решений
mqtt это отдельный протокол, но тоже можно
источник

AK

Anton Korotkikh in Архитектура ИТ-решений
ну если чисто го - то однозначно grpc, там очень сильная экосистема и тулинг для этого. практически нет смысла смотреть на что-то другое
источник

S

Sergey in Архитектура ИТ-решений
писал кодогенераторы на С, С++, Java, Go, C#, Python, Tcl
и продолжу писать...  :)   Но понимаю, что у других свой взгляд бывает
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Хм, gzip json малоотличим от grpc по объему трафика. А где там такие рекомендации?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
(Впрочем гугл старается топить за grpc по делу и без)
источник

w

whoami in Архитектура ИТ-решений
https://developer.android.com/guide/topics/connectivity/grpc

ну да, они скорее "топят" за свою технологию)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Кстати, а grpc сервер/клиент умеет жить поверх http 1.1, если /2 на маршруте где-то не поддерживается?
источник

S

Sergey in Архитектура ИТ-решений
так он обычно не в браузере, а service - to - service
источник

AK

Anton Korotkikh in Архитектура ИТ-решений
grpc тоже умеет в gzip. поэтому существенно отличим, сырой прото существенно меньше джейсона, сжатый прото меньше сжатого джейсона.
https://nilsmagnus.github.io/post/proto-json-sizes/

более того, если там понадобится ещё и тип данных в виде бианрщины, напрмиер педеать буффер, то будет настоящая драма, т.к. джейсону понадобится base64 который сам по себе даст примерно 33% сверху на объём бинарных данных
источник

p

pragus in Архитектура ИТ-решений
Так типы и ещё раз типы. Ну или схему тащить
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Эээ, если оба в gzip, то разница должна быть совсем неотличимый...
источник

S

Sergey in Архитектура ИТ-решений
а  так gRPC на Http/2 затачивался изначально
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Э, поясни?
Вообще, если совсем трафик жалко, то есть и BSON и CBOR, который компактнее
источник

KK

Kirill Keker in Архитектура ИТ-решений
так он же бинарный и использует обратную связь через пуши из http2.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Угу. Но вроде есть еще waf, которые не поддерживают ни grpc2 ни http2
источник