Ты только что получил задачу перенести сервис на gRPC - и думаешь, что это просто «взял protobuf, описал контракты, запустил кодогенерацию«? Так думал и я. До тех пор, пока не столкнулся с тем, что decimal в protobuf попросту не существует, nullable int превращается в нечто с флагом HasValue вместо привычного int?, а два enum в одном файле могут убить сборку из‑за конфликта имён значений — и компилятор скажет тебе об этом совсем не очевидно.»
Рубрика «protobuf»
Архитектура Desktop-приложения на .NET 10: Зачем я разделил UI и логику через gRPC
2026-04-02 в 20:45, admin, рубрики: .net 10, avalonia, grpc, protobuf, Worker Service, автоматизация, архитектура, десктопЛюбой десктопный монолит имеет один фатальный изъян: если UI поток падает - умирает вся бизнес-логика. Я решил это применив бэкенд-подход на десктопе.
Задача была амбициозной: создать единый центр управления рабочим местом. Чтобы одной кнопкой (или по расписанию) переключать ПК и комнату между режимами “кодинг”, “игры”, “стрим”. Это значит: управлять умным домом (Home Assistant), блокировать отвлекающие процессы и сайты, запускать нужный софт, контролировать медиа (Spotify) - и всё это через плагины.
Когда я начал проектировать архитектуру, я столкнулся с классической проблемой десктопного софта: Читать полностью »
Данная статья является продолжением статьи, в которой @ZergsLaw уже подробно описал, зачем мы начали делать EasyP и почему мы старались по возможности сохранять общие форматы с Buf. Поэтому повторяться не будем и сразу перейдем к тому, как использовать EasyP в своих проектах.
Установка
Начнем, конечно же, с установки EasyP:
-
Установка последней версии с GitHub:
go install github.com/easyp-tech/easyp/cmd/easyp@latest -
Недавно добавили возможность установки через brew:
brew install easyp-tech/tap/easyp
Читать полностью »
Микросервисы: Почему именно gRPC?
2024-10-25 в 9:32, admin, рубрики: golang, grpc, Microservices, protobuf, RPCАрхитектура микросервисов широко распространена в современном программировании. Благодаря этой архитектуре разработчики смогут самостоятельно разрабатывать сервисы и управлять ими. Однако очень важно выбрать правильный протокол для эффективного взаимодействия между микросервисами. Здесь протокол gRPC (Google Remote Treatment Call) выделяется своей высокой эффективностью и скоростью. В этой статье мы предоставим подробную информацию о RPC и gRPC, рассмотрим преимущества gRPC в архитектурах микросервисов и продемонстрируем их различия на примерах кода на языке программирования Go.
Apache Avro — на светлой стороне Кафки
2024-09-13 в 9:22, admin, рубрики: avro, protobuf, апач, архитектура, Кафка, микросервисы, сервисы
Добрый день!
Меня зовут Сергей Игнатенко, , я — девлид в поезде «Операционная платформа» Страхового Дома ВСК. Хочу сегодня рассказать об опыте использования SchemaRegistry и Avro в Kafka.
Начну с базовой схемы работы с Kafka, которая, возможно, будет знакома многим, но важна для понимания контекста.
Брутальный Protocol Buffers от Google vs статический анализ кода
2021-11-05 в 10:58, admin, рубрики: c++, open source, protobuf, protocol buffers, pvs-studio, SAST, баги, Блог компании PVS-Studio, информационная безопасность, открытые проекты, статический анализ, статический анализ кодаProtocol Buffers — это очень популярный, крутой и качественный проект, развиваемый в основном компанией Google. Это хороший вызов для статического анализатора кода PVS-Studio. Найти хоть что-то — это уже достижение. Попробуем.

Кроссплатформенный мультиплеер на Godot без боли
2021-01-30 в 10:52, admin, рубрики: Godot, protobuf, WebSocket, разработка игрЧто хотим сделать?
Синхронизацию действий игроков в игре с клиент-серверной архитектурой. Должна быть возможность играть из браузера.
Для примера реализуем простую чат-комнату:
-
При соединении:
-
Клиент получает уникальный ID;
-
Клиент получает информацию о всех остальных игроках (ID + имя);
-
Все остальные игроки получают информацию о новом игроке (ID + имя по умолчанию);
-
В консоли появляется сообщение о входе.
-
-
При потере соединения:
-
Все остальные игроки получают информацию о выходе игрока с сервера (ID);
-
В консоли появляется сообщение о выходе.
-
Protobuf vs Avro. Как сделать выбор?
2020-11-29 в 13:12, admin, рубрики: avro, protobuf, serialization, Анализ и проектирование систем, микросервисы, хранение данныхВ статье перечислены особенности двух популярных форматов сериализации, которые следует учитывать архитектору, выбирая один из них.
Размер и скорость
В сети можно найти сравнительные тесты форматов сериализации. Не стоит придавать значение конкретным числам, так как скорость сериализации/десериализации, как и размер получающихся двоичных данных, зависит от конкретной схемы данных и от реализации сериализатора. Отметим лишь, что авро и протобаф занимают лидирующие позиции в подобных тестах.
Преимущество aвро в том, что поля записи сохраняются одно-за-другим, без разделителей. Но, имея дело с авроЧитать полностью »
JPoint 2020: новый формат, новые возможности
2020-07-04 в 17:01, admin, рубрики: graalvm, java, jmh, jpoint, jug.ru, kotlin, oracle, pact, protobuf, quarkus, scala, spring, valhalla, конференцииС 29 июня по 3 июля 2020 года в онлайн-формате прошла Java-конференция JPoint 2020. Информация о докладах, спикерах, особенностях проведения, впечатления от конференции — всё это можно прочитать далее.
Полный набор gRPC, RESTful JSON API, WS и Swagger из одного proto файла. От введения до нюансов и тонкостей grpc-gateway
2020-04-11 в 21:49, admin, рубрики: api, api server, Go, golang, grpc-gateway, protobuf, swagger, web-socketsВ этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему.
Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остановиться на этом подходе.
grpc-gateway — это плагин protoc. Он читает определение сервиса gRPC и генерирует обратный прокси-сервер, который переводит RESTful JSON API в gRPC. Этот сервер создается в соответствии с пользовательскими параметрами в вашем определении gRPC.
Это выглядит вот так:


