Останнє редагування:
Станіслав Анісімов
GRPC (висока продуктивність, бінарний протокол)
Click to expand / collapse

Коли критична швидкість і масштабованість, використовується gRPC - сучасний фреймворк віддалених викликів процедур, заснований на бінарному протоколі Protocol Buffers (Protobuf). На відміну від REST і JSON, gRPC забезпечує високу продуктивність і стиснення трафіку, що робить його відмінним вибором для навантажених ігрових систем, внутрішніх шлюзів і сервісної архітектури.

Ми реалізуємо gRPC-інтерфейси для роботи між модулями платформи і зовнішніми системами - з повною типізацією, авто-генерацією SDK і підтримкою стримінгу.


Переваги gRPC

МожливістьЩо це дає
Висока швидкістьШвидка серіалізація і передача по бінарному формату (в 5-10 разів швидше JSON)
Мінімальний трафікЕкономія пропускної здатності за рахунок компактного формату
Сувора типізаціяПідтримка схем (IDL), авто-валідація та генерація клієнтських бібліотек
Bi-directional streamingПотоковий обмін повідомленнями: зручно для real-time завдань і мікросервісів
Авто-генерація SDKПідтримка Java, Go, Python, PHP, C #, Node. js та інших мов

Де gRPC особливо доречний

Внутрішні з'єднання між модулями платформи

Ігрові ядра з високою частотою транзакцій

Системи, де важлива мінімальна затримка і висока надійність

Хмарні рішення з безліччю мікросервісів

BI/ML-інтеграції з передачею потоків даних


Технічні особливості

IDL: '.proto'файли для опису структур і сервісів

Передача через HTTP/2 з підтримкою multiplexing

Авторизація через TLS + API-токен

Підтримка unary-запитів, server-streaming, client-streaming і full-duplex

Сумісність з REST (через gRPC-Gateway при необхідності)


gRPC - це архітектурне рішення для тих, кому важлива продуктивність. Якщо REST - це універсальний стандарт, то gRPC - це надійний мотор для інтеграцій з високим навантаженням і жорсткими вимогами до швидкості і стабільності.

Популярні теми


Основні теми