GRPC
gRPC (gRPC Remote Procedure Calls[1]), також відомий як Google Remote Procedure Call — це система віддаленого виклику процедур (RPC) з відкритим кодом, початково розроблена в Google у 2015 році як наступне покоління інфраструктури RPC Stubby.[2][3] Він використовує транспортний протокол HTTP/2, Protobuf як мову опису інтерфейсу та надає наступні функції: аутентифікація, двонапрямлена потокова передача та керування потоком, блокувальні та неблокувальні зв'язування, а також дедлайни та скасовування.[4] У його складі наявні міжплатформені клієнтські та серверні бібліотеки для багатьох мов. Найбільш поширені сценарії використання включають комунікацію сервісів в мікросервісній архітектурі або підключення клієнтських мобільних додатків до серверних.[3] Складне використання у gRPC протоколу HTTP/2 унеможливлює реалізацію клієнта gRPC у браузері, тому замість цього комунікація відбувається через проксі-сервер.[5] АутентифікаціяgRPC підтримує використання TLS та аутентифікації на основі токенів. Підключення до служб Google має використовувати TLS. Є два типи ідентифікаційних даних: для каналу та для виклику.[6] КодуванняgRPC використовує Protocol Buffers для кодування даних. На відміну від HTTP API з мовою опису інтерфейсу JSON, вони мають більш суворі специфікації. Завдяки єдиній специфікації gRPC усуває неоднозначності та заощаджує час розробника, оскільки gRPC є узгодженим для різних платформ та реалізацій.[7] ВикористанняНизка різних організацій використовують gRPC, наприклад Square, Netflix, IBM, CoreOS, Docker, CockroachDB, Cisco, Juniper Networks,[8] Spotify,[9] Zalando[10] і Dropbox.[11] Проєкт з відкритим кодом u-bmc використовує gRPC для заміни IPMI.[12] 8 січня 2019 року Dropbox оголосив, що наступна версія «Courier», їх фреймворку RPC, що є ядром їхньої сервісно-орієнтованої архітектури (SOA), буде перенесена на базу gRPC, насамперед тому, що він добре відповідає їхнім спеціалізованим фреймворкам RPC, що наразі існують.[13] Див. такожПримітки
Посилання
|