GRPC - gRPC

gRPC
Разработчики)Google
изначальный выпускАвгуст 2016 г.; 4 года назад (2016-08)
Стабильный выпуск
1.33.2
Репозиторий Отредактируйте это в Викиданных
Написано вAndroid Java, C #, C ++, Dart, Go, Java, Kotlin / JVM, Node.js, Objective-C, PHP, Python, Ruby
ТипУдаленный вызов процедур рамки
ЛицензияЛицензия Apache 2.0
Интернет сайтgrpc.io

gRPC (gRPC Вызов удаленных процедур[1]) является Открытый исходный код удаленный вызов процедур (RPC) система, первоначально разработанная в Google в 2015 году.[2] Оно использует HTTP / 2 для транспорта, Буферы протокола как язык описания интерфейса, и предоставляет такие функции, как аутентификация, двунаправленная потоковая передача и управление потоком, блокирующие или неблокирующие привязки, а также отмена и таймауты. Он генерирует кроссплатформенные привязки клиента и сервера для многих языков. Наиболее распространенные сценарии использования включают подключение служб в микросервисы стиль архитектуры и подключение мобильных устройств, браузерных клиентов к серверным службам.[3]

Сложное использование gRPC HTTP / 2 делает невозможным реализацию клиента gRPC в браузере, вместо этого требуется прокси.[4]

Аутентификация

gRPC поддерживает использование TLS и аутентификация на основе токена. Подключение к сервисам Google должно использовать TLS. Существует два типа учетных данных: учетные данные канала и учетные данные для вызова.[5]

Кодирование

gRPC использует буферы протокола для кодирования данных. В отличие от HTTP API с JSON, они имеют более строгую спецификацию. Благодаря единой спецификации gRPC исключает споры и экономит время разработчиков, поскольку gRPC согласован для разных платформ и реализаций.[6]

Принятие

GRPC приняли ряд различных организаций, например Квадрат, Netflix, IBM, CoreOS, Докер, ТараканDB, Cisco, Juniper Networks,[7] Spotify,[8] и Dropbox.[9]

Проект с открытым исходным кодом u-bmc использует gRPC для замены IPMI.[10] 8 января 2019 г. Dropbox объявили, что следующая версия Courier, их RPC-фреймворк, лежащий в основе их архитектуры SOA, будет переведена на gRPC, прежде всего потому, что он хорошо согласован с их существующими пользовательскими RPC-фреймворками.[11]

Смотрите также

Рекомендации

  1. ^ https://grpc.io/faq#what-does-grpc-stand-for
  2. ^ Представляем gRPC, новую платформу HTTP / 2 RPC с открытым исходным кодом
  3. ^ https://grpc.io/about/
  4. ^ «Состояние gRPC в браузере». gRPC.
  5. ^ "gRPC". grpc.io. Получено 2020-02-24.
  6. ^ JamesNK. «Сравните службы gRPC с HTTP API». docs.microsoft.com. Получено 2020-02-24.
  7. ^ "gRPC". grpc.io. Получено 2020-02-24.
  8. ^ «gRPC в Spotify» (PDF). jfokus.se. Получено 2020-05-12.
  9. ^ «Как мы перенесли Dropbox с Nginx на Envoy». Dropbox.Tech. Получено 2020-10-30.
  10. ^ "u-bmc". GitHub.com.
  11. ^ Нигматуллин, Руслан; Иванов, Алексей (2019-01-08). «Курьер: переход Dropbox на gRPC». Получено 2019-01-09.

внешняя ссылка