Недавно я провел некоторое время на изучение GRPC, и этот пост является кратким изложением того, что я узнал. Я также написал приложение прототипа для тестирования GRPC и GRPC-WEB с Python и JS. Клиент JS берет строку от пользовательского ввода и тестирует, если это палиндром. Код можно найти на GitHub И в будущем посте я прокомментирую это.
Что такое GRPC?
grpc является разработанной структурой вызова удаленной процедуры и открытым источником Google. Как они объясняют В документации , grpc ” Позволяет прозрачному передаче клиентских и серверных приложений и облегчает создание подключенных систем “. Для нас, которые работают в веб -разработке, подумайте о GRPC как альтернативу использованию REST, чтобы заставить ваш бэкэнд поговорить с вашим бэкэндом.
Я знаю, отдых настолько популярен и широко используется, что мы даже не думаем об использовании чего -либо еще!
Как GRPC сравнивается с отдыхом?
Оба являются инструментами для создания распределенных систем, поэтому выбор одного над другим будет зависеть от варианта использования. В то время как REST (который означает репрезентативную передачу состояний), является архитектурной схемой, GRPC является основой.
Вы можете сказать, что отдых – это ресурсы, а GRPC – это действия в API.
В отдыхе у клиента есть все данные о текущем сеансе. Если данные необходимо изменить, клиент отправляет всю информацию, необходимую на сервер, который вносит изменение, но это совершенно без сохранения.
В GRPC интерфейс API определяется путем описания поведения службы: он определяет методы, которые можно назвать удаленно с их параметрами и типами возврата. Из коробки GRPC использует Буферы протокола как язык для описания как сервисного интерфейса, так и структуры сообщений полезной нагрузки. Буферы протокола (или протобуф) также используются для сериализации данных, которые будут переданы и проще, меньше и быстрее, чем XML. Сообщения закодированы в двоичном формате (в отличие от текстового формата в XML).
Таким образом, суть в том, что GRPC очень обеспокоен определением услуг. Вы также можете прочитать В официальных документах Более подробное объяснение, почему GRPC лучше/хуже, чем отдых.
Почему нужно использовать GRPC?
Согласно Документация , преимущества использования GRPC:
- Начинается быстро и масштабируется
- Работает на языках и платформах
- Двунаправленная потоковая и интегрированная аут
- Простое определение обслуживания – при использовании с буферами протокола
Как начать с GRPC
Первым шагом для использования GRPC является установление определения услуги. Это определение сервиса довольно важно, и оно будет стимулировать все остальное. После этого Проток
(Компилятор) будет генерировать классы, которые будут использоваться в реализации целевыми языками.
Примерно, вы должны следовать этому заказу, чтобы создать приложение, которое использует GRPC:
- Определите свой сервис (используя ProtoBufs или какую -то другую альтернативу)
- Используйте
проток
(Инструмент GRPC для компиляции буферов протокола) для вашего целевого языка - Используйте/импортируйте классы, сгенерированные
Проток
В вашей реализации (сервер и/или клиентская сторона)
В отдельном посте я прокомментирую свой прототип. В то же время, Код можно найти здесь Анкет
Пост Начало работы с GRPC-Part Я: что Первоначально был опубликован в flaviabastos.ca
Оригинал: “https://dev.to/flaviabastos/getting-started-with-grpc-part-i-the-what-259m”