gRPC-Web
webAssess
gRPC-Web
gRPC-Web — это клиентская реализация gRPC для браузеров, позволяющая использовать преимущества gRPC в веб-приложениях.
Почему assess?
- Стандартом в компании является взааимодействие по REST, новые сервисы пишутся только на REST
- Перспективная технология для взаимодействия фронтенда с микросервисами
- Эффективный бинарный формат обмена (Protocol Buffers)
- Генерация типизированного клиента из .proto файлов
- Пока менее распространен чем REST
Наш опыт
Используем gRPC-Web в React приложении Plaid Admin.
Преимущества:
- Автоматическая генерация клиентского кода
- Строгая типизация запросов/ответов
- Не требует прослойки rest api в микросервисах, ходит напрямую protobuf реализацию
Недостатки:
- Сложность отладки (бинарный формат)
- Дополнительные накладные расходы на настройку и поддержку
- Нет поддержки веб-сокетов
- Ломается если нет согласованности контрактов фронт-бэк