Если вы хотите создавать распределенные системы с помощью Go, то вы обратились по адресу. В этом сообщении блога мы рассмотрим три книги, которые помогут вам начать работу. Каждая из этих книг охватывает различные аспекты gRPC, поэтому вы можете выбрать ту, которая лучше всего соответствует вашим потребностям. Давайте начнем!

Во-первых, что такое gRPC? Почему вас это должно волновать?

gRPC — это современная масштабируемая основа для создания распределенных приложений и служб, основанных на межпроцессном взаимодействии. Разработчики должны знать, когда они должны использовать его в своем жизненном цикле разработки приложений, а также передовые методы, такие как успешный запуск этих экземпляров службы gRPC с большой нагрузкой трафика без ущерба для целей производительности или целевых показателей доступности!

Вот 3 лучшие книги, которые помогут вам освоить эту технологию в масштабе.

Как создавать и развертывать веб-сервисы производственного уровня с помощью gRPC: лучший бесплатный вариант с Kindle Unlimited

Эта книга поможет вам быстро начать работу с Golang, а также научит читателей создавать готовые к работе веб-сервисы. Автор использует Google Firestore, решение для базы данных nosql, предоставляемое через Cloudrun — платформу в качестве поставщика услуг, предлагающего масштабируемые серверы для нужд вашего приложения в облаке!

Плюсы

  • Практический подход к разработке платформы gRPC с отладкой и тестированием, чтобы вы могли быстро что-то построить.
  • Готовые решения для портфолио для демонстрации потенциальным работодателям.
  • Введение в OpenAPI, swagger и другие сервисы, которые сделают ваш проект готовым к работе.
  • Качественные примеры и хорошо написанные. Многие книги в Kindle Unlimited, ориентированные на разработчиков, имеют низкое качество написания.

Минусы

  • Не хватает глубины. Не вдается в подробности базового механизма gRPC по сравнению с другими вариантами. Если вы действительно хотите узнать все тонкости gRPC в Go, попробуйте другие названия ниже.
  • Google Cloud Platform используется почти исключительно. Другие поставщики облачных услуг, такие как AWS, могут быть рассмотрены более подробно.
  • Иногда относится к вещам в следующей книге, которые будут рассмотрены более подробно.

Освоение Go (3-е издание): лучшее для общих концепций Golang

Mastering Go — идеальная книга для всех разработчиков, желающих освоить один из самых популярных языков, используемых сегодня. В это издание включены новые интересные темы, в том числе написание сервисов для отдыха с помощью gRPC или WebSockets; работает над проектами, в которых используются режимы GitHub Actions и GitLab Action — среди многих других! В отличие от предыдущих выпусков, которые содержали длинные списки кода без особого контекста, эта версия предлагает код, соответствующий современной архитектуре распределенной системы.

Тем не менее, это не без некоторых недостатков. Некоторые из примеров могут больше походить на пошаговое руководство, чем на глубокое погружение в базовую архитектуру. Для gRPC они посвятят этой теме целую главу, вам может понадобиться книга ниже, чтобы глубже понять gRPC в Golang.

По-прежнему отличный справочник для Golang.

Плюсы

  • тщательно и не только о gRPC, но и понимать различные сетевые протоколы в Golang
  • От новичка до продвинутого — это отличное руководство, которое можно взять снова, чтобы проверить свое понимание концепций Golang.

Минусы

  • Некоторые примеры устарели.
  • Несколько объяснений больше похожи на пошаговые руководства и могут содержать более подробную информацию об особенностях языка.
  • Делает достойную работу по объяснению модели параллелизма go, но больше визуальных эффектов не помешало бы.

gRPC: Up and Running: Best Deep Dive

Книга предназначена для разработчиков, создающих распределенные приложения и микросервисы с использованием различных технологий межпроцессного взаимодействия. Эти сервисы требуют знания того, как работает gRPC, когда разработчик должен использовать его для связи между двумя разными процессами или уровнями в своей архитектуре приложения вместо (например) HTTP/S, который также может обрабатывать запросы от клиентов, но не поддерживает потоковую передачу. данные, как мы делаем с соединениями GRPC сверху; Таким образом, наша система остается масштабируемой без каких-либо проблем с производительностью, пока не нужно слишком много потребителей, записывающих большие объемы одновременно — достаточно одного потока на клиента!

Плюсы

  • Выходит за рамки основ и охватывает концепцию мультиплексирования, сроки
  • Целая глава посвящена пониманию внутренностей, необходимых для освоения GRPC.
  • Подходит для начинающих
  • Здесь рассматриваются мультиплексирование и балансировка нагрузки, часто встречающиеся в распределенных системах.

Минусы

  • Некоторые примеры кода устарели
  • Вам нужно быть в курсе изменений protobuf, чтобы действительно освоить gRPC.
  • Трудно следовать некоторым кодам для нескольких пользователей

Заключение

Если вы хотите узнать о gRPC в Go, любая из этих книг станет отличной инвестицией. Они предлагают четкие объяснения с большим количеством примеров, чтобы вы могли применить полученные знания в своих собственных проектах. Мы надеемся, что вы найдете идеальную книгу для своих нужд и что с этого момента ваш опыт работы с gRPC будет гладким!

Пожалуйста, подпишитесь, если вы нашли этот контент полезным, и ознакомьтесь с моими другими любимыми играми для Golang здесь.