Архитектура микросервисов широко распространена в современном программировании. Благодаря этой архитектуре разработчики смогут самостоятельно разрабатывать сервисы и управлять ими. Однако очень важно выбрать правильный протокол для эффективного взаимодействия между микросервисами. Здесь протокол gRPC (Google Remote Treatment Call) выделяется своей высокой эффективностью и скоростью. В этой статье мы предоставим подробную информацию о RPC и gRPC, рассмотрим преимущества gRPC в архитектурах микросервисов и продемонстрируем их различия на примерах кода на языке программирования Go.
Рубрика «protobuf»
Микросервисы: Почему именно gRPC?
2024-10-25 в 9:32, admin, рубрики: golang, grpc, Microservices, protobuf, RPCApache 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.
Это выглядит вот так:
Структурированный протокол обмена данных Protobuf или JSON во фронтенде?
2020-02-25 в 15:11, admin, рубрики: api, javascript, node.js, protobuf
В новом проекте в нашей команде мы выбрали frontend framework VUE для нового продукта, бэкенд написан на PHP, и уже как 17 лет успешно работает.
Когда код начал разрастаться, нужно было думать над упрощением обмена данных с сервером, об этом я и расскажу.
Читать полностью »
Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker
2019-07-25 в 8:35, admin, рубрики: docker, Go, golang, grpc, Microservices, protobuf, микросервисы, ПрограммированиеПривет! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans.
Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небольшой пример того, как это делается на базовом уровне.
Читать полностью »
C++ Enterprise Edition. Возможно ли?
2019-06-11 в 13:03, admin, рубрики: c++, dsl, framework, mq, protobufC++ Enterprise Edition
Что такое "enterprise edition"
Удивительно, но за все время моей работы в IT, я ниразу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пишут на многих языках программирования, и сущности, которыми оперируют программисты, если не идентичны, то схожи. И для c++ в частности, я бы хотел заполнить пробел enterpr'айзности, хотя бы рассказав об этом.