Технологический РадарТехнологический Радар

gRPC-Web

web
Assess

gRPC-Web

gRPC-Web — это клиентская реализация gRPC для браузеров, позволяющая использовать преимущества gRPC в веб-приложениях.

Почему assess?

  • Стандартом в компании является взааимодействие по REST, новые сервисы пишутся только на REST
  • Перспективная технология для взаимодействия фронтенда с микросервисами
  • Эффективный бинарный формат обмена (Protocol Buffers)
  • Генерация типизированного клиента из .proto файлов
  • Пока менее распространен чем REST

Наш опыт

Используем gRPC-Web в React приложении Plaid Admin.

Преимущества:

  • Автоматическая генерация клиентского кода
  • Строгая типизация запросов/ответов
  • Не требует прослойки rest api в микросервисах, ходит напрямую protobuf реализацию

Недостатки:

  • Сложность отладки (бинарный формат)
  • Дополнительные накладные расходы на настройку и поддержку
  • Нет поддержки веб-сокетов
  • Ломается если нет согласованности контрактов фронт-бэк

Полезные ссылки