Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

gRPC, GraphQL или REST? Какая технология API лучше всего подходит для Golang?

Автор: Mario Carrion

Загружено: 2022-02-03

Просмотров: 28349

Описание:

gRPC? GraphQL? REST? Какая технология API лучше всего подходит для Go/Golang? Какие инструменты доступны для их реализации?

В этом видео я расскажу о ключевых различиях между этими тремя популярными технологиями API, познакомлю вас с ними, поделюсь плюсами и минусами и выскажу своё мнение о том, какую технологию API лучше всего использовать в зависимости от сценария использования, а также приведу примеры инструментов для работы в Go/Golang.

== Что такое REST?

REST — это аббревиатура от REpresentational State Transfer, придуманная Роем Филдингом и представленная в его докторской диссертации. Это архитектурный стиль, определяющий принципы создания веб-сервисов. REST не является стандартом, но использует такие стандарты, как HTTP (и его глаголы для представления действий) и форматы полезной нагрузки/сообщений (например, JSON или XML), и это лишь некоторые из них.

==== Плюсы
■ Простота реализации и использования
■ Зрелость, практически все языки программирования позволяют реализовывать и разрабатывать REST API

==== Минусы
■ Избыточная выборка данных означает, что ответы содержат данные, которые не нужны клиенту
■ Недостаточная выборка данных означает необходимость вызова нескольких ресурсов для получения всех необходимых данных

==== Инструменты
■ https://github.com/goadesign/goa
■ https://github.com/go-swagger/go-swagger
■ https://github.com/deepmap/oapi-codegen

== Что такое GraphQL?

GraphQL — это язык запросов и обработки данных с открытым исходным кодом для API, а также среда выполнения запросов к существующим данным.

==== Плюсы
■ Отсутствие избыточной выборки данных, каждое поле указано явно.
■ Строго типизированный

==== Минусы
■ Сложность бэкенд-запросов, поскольку вся логика запросов переносится на бэкенд
■ Кэширование усложняется

== Что такое gRPC?

gRPC — это эффективный метод удалённого вызова процедур (RPC) с открытым исходным кодом, который генерирует кроссплатформенные клиентские и серверные привязки, определённые в Protocol Buffers.

==== Плюсы
■ Включает инструменты для генерации кода
■ Высокая производительность

==== Минусы
■ Сложнее реализовать
■ Нет (по умолчанию) поддержки браузеров

== Когда использовать REST, GraphQL или gRPC?
Мои рекомендации:
■ Используйте REST при создании API с чёткими сроками выполнения, где домен легко сопоставляется с ресурсами.
■ Используйте GraphQL при создании API, требующего больших объёмов запросов к ресурсам или требующего высокой производительности.
■ Используйте gRPC при создании внутренних API с высокой пропускной способностью и конкретными требованиями.

== Полезные ссылки

■ Архитектура программного обеспечения и проектирование систем на Go/Golang:    • Software Architecture and System Design in...  

== Все плейлисты Go/Golang

■ Создание микросервисов на Go/Golang:    • Building Microservices in Golang/Go  
■ Инструменты и пакеты Go/Golang:    • Golang/Go Tools and Packages  
■ Изучение паттернов многопоточности в Go/Golang:    • Learning Go/Golang Concurrency Patterns  
■ Изучение Go/Golang:    • Learning Go/Golang  
■ Изучение реляционных баз данных в Go/Golang:    • Learning Go/Golang: Relational Databases  
■ Тестирование в Go/Golang:    • Testing in Golang/Go  

== Социальные сети

■   / mariocarrion  
■   / mario.carrion  
■   / mariocarrion  

00:00 — Начало
00:12 — Что такое обмен данными?
00:35 — REST: обмен данными, плюсы и минусы
04:32 — GraphSQL: обмен данными, плюсы и минусы
07:12 — gRPC: обмен данными, плюсы и минусы
10:25 — Какая технология API лучшая?

=== Кто я?

Привет👋🏼! Меня зовут Марио, я архитектор-практик и ведущий бэкенд-инженер с более чем 16-летним профессиональным опытом разработки всех видов программного обеспечения, включая локальные системы промышленной автоматизации, компоненты Linux Accessibility Desktop и браузера, а также распределенные рекламные микросервисы.

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

Подпишитесь, если вам нравятся разработка программного обеспечения, архитектура программного обеспечения и проектирование систем!

Так держать. Не сдавайтесь!

#golang #архитектурапрограммногообеспечения #проектированиесистем

=== Наш видеоблог

   / rubycarrion  

=== Партнёрские ссылки

■ Магазин Amazon 🛒 https://www.amazon.com/shop/rubycarrion
■ Технические/нетехнические книги — рекомендует Марио Каррион 📚 https://www.amazon.com/shop/rubycarri...

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Некоторые из ссылок, приведённых выше, являются партнёрскими....

gRPC, GraphQL или REST? Какая технология API лучше всего подходит для Golang?

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Introduction to Protocol Buffers (gRPC Tutorial using buf) with Golang/Ruby Examples

Introduction to Protocol Buffers (gRPC Tutorial using buf) with Golang/Ruby Examples

Основы gRPC в Go - Микросервисы, как в BigTech

Основы gRPC в Go - Микросервисы, как в BigTech

99% разработчиков не понимают gRPC

99% разработчиков не понимают gRPC

gRPC для новичков

gRPC для новичков

Webhooks, Websockets и HTTP Streaming — какой событийно-управляемый API использовать?

Webhooks, Websockets и HTTP Streaming — какой событийно-управляемый API использовать?

Пишем gRPC сервис на Go - Сервис авторизации / УЛЬТИМАТИВНЫЙ гайд

Пишем gRPC сервис на Go - Сервис авторизации / УЛЬТИМАТИВНЫЙ гайд

gRPC против REST — КЛЮЧЕВЫЕ ОТЛИЧИЯ И ТЕСТ ПРОИЗВОДИТЕЛЬНОСТИ

gRPC против REST — КЛЮЧЕВЫЕ ОТЛИЧИЯ И ТЕСТ ПРОИЗВОДИТЕЛЬНОСТИ

Что такое GraphQL? REST против GraphQL

Что такое GraphQL? REST против GraphQL

VPN скоро запретят? Мобилизация: секреты Реестра воинского учёта. Телефоны россиян добавят в базу

VPN скоро запретят? Мобилизация: секреты Реестра воинского учёта. Телефоны россиян добавят в базу

99% of Developers Don't Get RPCs

99% of Developers Don't Get RPCs

Mr Bean does 'Blind Date' | Comic Relief

Mr Bean does 'Blind Date' | Comic Relief

Учебное пособие по gRPC Golang 2024 года — Учебное пособие, которое я хотел бы иметь, когда учился

Учебное пособие по gRPC Golang 2024 года — Учебное пособие, которое я хотел бы иметь, когда учился

ИНТЕРНЕТ 2026: Смерть VPN, Белые списки и режим Интранета. Системный анализ конца сети

ИНТЕРНЕТ 2026: Смерть VPN, Белые списки и режим Интранета. Системный анализ конца сети

When RESTful architecture isn't enough...

When RESTful architecture isn't enough...

Golang по-прежнему является растущим языком программирования?

Golang по-прежнему является растущим языком программирования?

Now I Know Why Most People Don’t Use gRPC

Now I Know Why Most People Don’t Use gRPC

Какой язык выбрать для бизнес-задач и почему именно Golang / Даниил Подольский

Какой язык выбрать для бизнес-задач и почему именно Golang / Даниил Подольский

⚠️ Prohibido Para Sensibles: Así Sería una Guerra Nuclear Minuto a Minuto

⚠️ Prohibido Para Sensibles: Así Sería una Guerra Nuclear Minuto a Minuto

Транзакции в контекстных значениях в Golang, это нормально? r/golang

Транзакции в контекстных значениях в Golang, это нормально? r/golang

GOLANG ПОЛНЫЙ КУРС ДЛЯ НАЧИНАЮЩИХ | ЧАСТЬ 2 | ПРОДВИНУТЫЙ GO и REST API

GOLANG ПОЛНЫЙ КУРС ДЛЯ НАЧИНАЮЩИХ | ЧАСТЬ 2 | ПРОДВИНУТЫЙ GO и REST API

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: infodtube@gmail.com