gRPC: Up and Running. Создание облачных приложений на Go и gRPC
Практическое руководство по gRPC на Go
Краткое содержимое:
Введение
Книга «gRPC: Up and Running» (авторы Kasun Indrasiri и Danesh Kuruppu, 2020 год, 265 страниц) — это практическое руководство по созданию современных облачных приложений с использованием фреймворка gRPC на языке Go (Golang). Несмотря на то, что сайт PythonLib посвящён Python, эта книга заслуживает внимания любого разработчика, интересующегося микросервисной архитектурой и высокопроизводительными протоколами связи. gRPC — технология, активно используемая в экосистеме Python (например, через библиотеки grpcio), и понимание её основ на примере Go даёт глубокое понимание принципов, которые легко перенести на Python.
О чём книга
Книга последовательно знакомит читателя с gRPC: от установки и настройки до развёртывания в продакшене. Авторы начинают с основ — что такое gRPC, чем он отличается от REST, как работает HTTP/2 и Protocol Buffers. Затем переходят к созданию серверов и клиентов на Go, работе с потоками (streaming), обработке ошибок, аутентификации, балансировке нагрузки и мониторингу. Отдельные главы посвящены интеграции с Kubernetes и gRPC-web.
Для кого эта книга
Книга рассчитана на разработчиков, уже знакомых с Go (хотя базовые примеры понятны и новичкам). Она будет полезна:
- Go-разработчикам, желающим освоить gRPC для микросервисов;
- Python-разработчикам, которые хотят понять gRPC изнутри (многие концепции идентичны);
- Архитекторам, проектирующим системы с высокой производительностью;
- Всем, кто переходит с REST на gRPC.
Что узнает читатель
После прочтения вы сможете:
- Понимать принципы gRPC и его отличия от REST;
- Создавать эффективные .proto файлы и генерировать код;
- Реализовывать унарные и стриминговые RPC (server-streaming, client-streaming, bidirectional);
- Настраивать аутентификацию (SSL/TLS, токены);
- Интегрировать gRPC с Kubernetes и Envoy;
- Отлаживать и профилировать gRPC-сервисы.
Сильные стороны
Главное достоинство книги — практическая направленность. Каждая глава содержит готовые примеры кода на Go, которые можно сразу запустить. Авторы уделяют внимание не только теории, но и реальным проблемам: таймаутам, повторным попыткам, балансировке нагрузки. Книга написана живым языком, сложные концепции объясняются на аналогиях. Отдельно стоит отметить главу про gRPC-web — это редкость для литературы 2020 года.
Кому рекомендуется
Я рекомендую эту книгу всем, кто работает с микросервисами, независимо от основного языка. Для Python-разработчиков она станет отличным дополнением к официальной документации grpcio, так как показывает «взгляд со стороны» — на Go, но с теми же принципами. Если вы хотите понять gRPC глубоко и начать использовать его в своих проектах — это лучший старт.