home.social

#grpcсервисы — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #grpcсервисы, aggregated by home.social.

  1. Protobuf как контракт: spec‑first валидация с protovalidate (часть 2)

    В первой части мы разобрали protoc-gen-validate и spec-first подход к валидации. Я обещал рассказать про protovalidate ну и вот, держите :) И самый первый вопрос конечно, а зачем вообще появился protovalidate, если PGV уже есть и работает?

    habr.com/ru/articles/986422/

    #go #golang #grpc #validate #testing #easyp #buf #protobuf #grpcgo #grpcсервисы

  2. Protobuf как контракт: spec‑first валидация с protoc‑gen‑validate

    Protobuf как контракт: spec‑first валидация с protoc‑gen‑validate Первая статья из мини‑серии про валидацию на базе Protobuf. В этой части — концепция spec‑first и protoc‑gen‑validate. В следующей поговорим про protovalidate и то, почему его вообще имеет смысл рассматривать как «следующее поколение» (или же как очередная эволюция в обратную сторону?) Также, чтобы не пропустить следующую часть, очень рекомендую подписаться на мой телеграмм канал :)

    habr.com/ru/articles/974072/

    #go #golang #grpc #validate #testing #easyp #buf #protobuf #grpcgo #grpcсервисы

  3. Часть вторая. Как я пытался засунуть gRPC в браузер — продолжение

    Предыдущая часть Картина мира: почему браузер — главный блокер для «настоящего» gRPC Если коротко, gRPC живёт поверх HTTP/2 и активно полагается на стримы. А в браузере до сих пор нет низкоуровневого API, который позволил бы JavaScript управлять HTTP/2‑стримами на том уровне, который нужен gRPC. Даже unary‑вызов в gRPC — это частный случай стрима: открыли поток, отдали запрос, забрали ответ, закрылись. Пока браузеры не дадут этот «рычаг», все WEB‑решения — это компромиссы разной степени изящности. Чем это оборачивается на практике: Нативные bidi‑стримы из браузера недоступны Приходится конвертировать транспорт: HTTP/1.1 или WebSocket → что‑то «похоже на gRPC» → gRPC/HTTP2 на бэкенде Добавляются прокси, адаптеры и слой совместимости, где теряется часть достоинств «чистого» gRPC

    habr.com/ru/articles/944894/

    #go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #rpc

  4. Часть вторая. Как я пытался засунуть gRPC в браузер — продолжение

    Предыдущая часть Картина мира: почему браузер — главный блокер для «настоящего» gRPC Если коротко, gRPC живёт поверх HTTP/2 и активно полагается на стримы. А в браузере до сих пор нет низкоуровневого API, который позволил бы JavaScript управлять HTTP/2‑стримами на том уровне, который нужен gRPC. Даже unary‑вызов в gRPC — это частный случай стрима: открыли поток, отдали запрос, забрали ответ, закрылись. Пока браузеры не дадут этот «рычаг», все WEB‑решения — это компромиссы разной степени изящности. Чем это оборачивается на практике: Нативные bidi‑стримы из браузера недоступны Приходится конвертировать транспорт: HTTP/1.1 или WebSocket → что‑то «похоже на gRPC» → gRPC/HTTP2 на бэкенде Добавляются прокси, адаптеры и слой совместимости, где теряется часть достоинств «чистого» gRPC

    habr.com/ru/articles/944894/

    #go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #rpc

  5. Часть вторая. Как я пытался засунуть gRPC в браузер — продолжение

    Предыдущая часть Картина мира: почему браузер — главный блокер для «настоящего» gRPC Если коротко, gRPC живёт поверх HTTP/2 и активно полагается на стримы. А в браузере до сих пор нет низкоуровневого API, который позволил бы JavaScript управлять HTTP/2‑стримами на том уровне, который нужен gRPC. Даже unary‑вызов в gRPC — это частный случай стрима: открыли поток, отдали запрос, забрали ответ, закрылись. Пока браузеры не дадут этот «рычаг», все WEB‑решения — это компромиссы разной степени изящности. Чем это оборачивается на практике: Нативные bidi‑стримы из браузера недоступны Приходится конвертировать транспорт: HTTP/1.1 или WebSocket → что‑то «похоже на gRPC» → gRPC/HTTP2 на бэкенде Добавляются прокси, адаптеры и слой совместимости, где теряется часть достоинств «чистого» gRPC

    habr.com/ru/articles/944894/

    #go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #rpc

  6. Часть вторая. Как я пытался засунуть gRPC в браузер — продолжение

    Предыдущая часть Картина мира: почему браузер — главный блокер для «настоящего» gRPC Если коротко, gRPC живёт поверх HTTP/2 и активно полагается на стримы. А в браузере до сих пор нет низкоуровневого API, который позволил бы JavaScript управлять HTTP/2‑стримами на том уровне, который нужен gRPC. Даже unary‑вызов в gRPC — это частный случай стрима: открыли поток, отдали запрос, забрали ответ, закрылись. Пока браузеры не дадут этот «рычаг», все WEB‑решения — это компромиссы разной степени изящности. Чем это оборачивается на практике: Нативные bidi‑стримы из браузера недоступны Приходится конвертировать транспорт: HTTP/1.1 или WebSocket → что‑то «похоже на gRPC» → gRPC/HTTP2 на бэкенде Добавляются прокси, адаптеры и слой совместимости, где теряется часть достоинств «чистого» gRPC

    habr.com/ru/articles/944894/

    #go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #rpc

  7. Как я пытался засунуть gRPC в браузер — часть первая

    Одна из самых основных проблем в работе с gRPC - необходимость наружу вытаскивать отдельно REST API для web клиента, но, надо ли отдельно его писать, или можно как-то унифицировать и эту историю? И вот начал я копать эту тему, и чем глубже копал, тем больше удивлялся. Оказывается, за последние почти 10 лет было целых ТРИ ЧЕТЫРЕ серьезных попытки затащить gRPC в веб. И знаете что самое смешное? Самая первая попытка, сделанная в 2015 году японкой- одиночкой (в команде с коллегами), до сих пор остается самым адекватным решением. А Google со всеми своими миллиардами и армией разработчиков так и не смог ничего нормального придумать. Но обо всем по порядку. Ах, да, меня зовут Эдгар Сипки , я все также евангелист gRPC && OpenSource :) Кстати, мой канал , там я гораздо чаще пишу (а скоро еще и начну снимать очень много крутого контента про gRPC и Go), ну и конечно один из основателей инструмента EasyP Ссылка на полный доклад, если хочется посмотреть - YouTube

    habr.com/ru/articles/941816/

    #go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #generator

  8. Как я пытался засунуть gRPC в браузер — часть первая

    Одна из самых основных проблем в работе с gRPC - необходимость наружу вытаскивать отдельно REST API для web клиента, но, надо ли отдельно его писать, или можно как-то унифицировать и эту историю? И вот начал я копать эту тему, и чем глубже копал, тем больше удивлялся. Оказывается, за последние почти 10 лет было целых ТРИ ЧЕТЫРЕ серьезных попытки затащить gRPC в веб. И знаете что самое смешное? Самая первая попытка, сделанная в 2015 году японкой- одиночкой (в команде с коллегами), до сих пор остается самым адекватным решением. А Google со всеми своими миллиардами и армией разработчиков так и не смог ничего нормального придумать. Но обо всем по порядку. Ах, да, меня зовут Эдгар Сипки , я все также евангелист gRPC && OpenSource :) Кстати, мой канал , там я гораздо чаще пишу (а скоро еще и начну снимать очень много крутого контента про gRPC и Go), ну и конечно один из основателей инструмента EasyP Ссылка на полный доклад, если хочется посмотреть - YouTube

    habr.com/ru/articles/941816/

    #go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #generator

  9. Как я пытался засунуть gRPC в браузер — часть первая

    Одна из самых основных проблем в работе с gRPC - необходимость наружу вытаскивать отдельно REST API для web клиента, но, надо ли отдельно его писать, или можно как-то унифицировать и эту историю? И вот начал я копать эту тему, и чем глубже копал, тем больше удивлялся. Оказывается, за последние почти 10 лет было целых ТРИ ЧЕТЫРЕ серьезных попытки затащить gRPC в веб. И знаете что самое смешное? Самая первая попытка, сделанная в 2015 году японкой- одиночкой (в команде с коллегами), до сих пор остается самым адекватным решением. А Google со всеми своими миллиардами и армией разработчиков так и не смог ничего нормального придумать. Но обо всем по порядку. Ах, да, меня зовут Эдгар Сипки , я все также евангелист gRPC && OpenSource :) Кстати, мой канал , там я гораздо чаще пишу (а скоро еще и начну снимать очень много крутого контента про gRPC и Go), ну и конечно один из основателей инструмента EasyP Ссылка на полный доклад, если хочется посмотреть - YouTube

    habr.com/ru/articles/941816/

    #go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #generator

  10. Как я пытался засунуть gRPC в браузер — часть первая

    Одна из самых основных проблем в работе с gRPC - необходимость наружу вытаскивать отдельно REST API для web клиента, но, надо ли отдельно его писать, или можно как-то унифицировать и эту историю? И вот начал я копать эту тему, и чем глубже копал, тем больше удивлялся. Оказывается, за последние почти 10 лет было целых ТРИ ЧЕТЫРЕ серьезных попытки затащить gRPC в веб. И знаете что самое смешное? Самая первая попытка, сделанная в 2015 году японкой- одиночкой (в команде с коллегами), до сих пор остается самым адекватным решением. А Google со всеми своими миллиардами и армией разработчиков так и не смог ничего нормального придумать. Но обо всем по порядку. Ах, да, меня зовут Эдгар Сипки , я все также евангелист gRPC && OpenSource :) Кстати, мой канал , там я гораздо чаще пишу (а скоро еще и начну снимать очень много крутого контента про gRPC и Go), ну и конечно один из основателей инструмента EasyP Ссылка на полный доклад, если хочется посмотреть - YouTube

    habr.com/ru/articles/941816/

    #go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #generator