В этом уроке:
Урок знакомит с основами gRPC в языке программирования Go — от установки до клиент-серверного взаимодействия. Вы узнаете, как gRPC используется для эффективной передачи данных по сети, как происходит сериализация структур через Protocol Buffers и как генерируется gRPC-код.
gRPC работает поверх HTTP/2 и предлагает низкую задержку и строгую типизацию данных. Протокол gRPC — это высокопроизводительное средство удалённого вызова процедур (RPC), где каждый запрос и ответ обрабатываются в бинарном виде. Такие структуры сообщений описываются в. proto файле, что делает их совместимыми с разными языками, включая Java, Go, Python и другие.
Вы научитесь:
Также рассматриваются подходы к описанию API, нюансы работы с контекстом, тайм-аутами, логированием и взаимодействием между сервисами с помощью разных типов вызовов (unary, server-side streaming, client-side streaming и bidirectional streaming).
Для тех, кто работает с REST-сервисами, этот урок покажет преимущества gRPC и Protobuf: компактность, производительность и удобство описания функций, которые вызываются удалённо.
Автор урока — Леонид Ченский, Team lead в Ozon tech, где он занимается разработкой инфраструктуры, которая позволяет получить ScyllaDB в облаке.
Теги: Микросервисы. Межсервисное взаимодействие. gRPC. REST. RPC. Remote procedure call. Удалённый вызов процедур. Protoc. Protobuf. Streaming. Golang. Go gRPC. GraphQL. Клиент-серверная архитектура. Использование gRPC в Go.
- 00:00 — Введение
- 00:36 — Разница HTTP/1.1 и HTTP/2
- 06:19 — Protobuf
- 23:02 — Взаимодействие по gRPC
- 33:35 — Работа с gRPC на практике
- 49:59 — gRPC плагины
Урок знакомит с основами gRPC в языке программирования Go — от установки до клиент-серверного взаимодействия. Вы узнаете, как gRPC используется для эффективной передачи данных по сети, как происходит сериализация структур через Protocol Buffers и как генерируется gRPC-код.
gRPC работает поверх HTTP/2 и предлагает низкую задержку и строгую типизацию данных. Протокол gRPC — это высокопроизводительное средство удалённого вызова процедур (RPC), где каждый запрос и ответ обрабатываются в бинарном виде. Такие структуры сообщений описываются в. proto файле, что делает их совместимыми с разными языками, включая Java, Go, Python и другие.
Вы научитесь:
- Проектировать и создавать API через Protocol Buffers.
- Быстро запускать gRPC-серверы и клиентов на Go.
- Реализовывать надёжное взаимодействие между сервисами с поддержкой стриминга и ошибок.
- Встраивать gRPC в web-среду и использовать его в production-микросервисной архитектуре.
Также рассматриваются подходы к описанию API, нюансы работы с контекстом, тайм-аутами, логированием и взаимодействием между сервисами с помощью разных типов вызовов (unary, server-side streaming, client-side streaming и bidirectional streaming).
Для тех, кто работает с REST-сервисами, этот урок покажет преимущества gRPC и Protobuf: компактность, производительность и удобство описания функций, которые вызываются удалённо.
Автор урока — Леонид Ченский, Team lead в Ozon tech, где он занимается разработкой инфраструктуры, которая позволяет получить ScyllaDB в облаке.
Теги: Микросервисы. Межсервисное взаимодействие. gRPC. REST. RPC. Remote procedure call. Удалённый вызов процедур. Protoc. Protobuf. Streaming. Golang. Go gRPC. GraphQL. Клиент-серверная архитектура. Использование gRPC в Go.