vitaly_74
@vitaly_74

Как пользоваться gRPC?

Прочитал мануал, но не много не понял логики, того как все работает. представляю себе работу gRPC так:
1. кто то написал что то на удаленном сервере, скажем на С#, у меня сайт работает на php и чтобы я мог пользоваться API удаленного сервера использую gRPC. надеюсь это верно понимаю.
2. нужно ли на собственном сервере устанавливать сервер + клиент gRPC? или достаточно клиента? в доках сказано мол установите еще сервак на node.js и клиент на php но меня эти доки жутко добивают поскольку я использую openserver + windows и у меня в консоли просто нет таких команд какие описаны в доках, и из - за этого возникают сложности.
3. имеются ли простые доки для таких как я, скажем установку через composer? (расширение для php установил).
  • Вопрос задан
  • 519 просмотров
Решения вопроса 1
Vamp
@Vamp
1. Надо смотреть какое именно API предоставляет сервер. Если JSON REST, то gRPC не подойдёт. gRPC - отдельный протокол, который должны поддерживать и клиент, и сервер, чтобы можно было по нему взаимодействовать.

2. Если хотите взаимодействовать с удалённым сервером, то нужен только клиент. Если хотите сами быть для кого-то сервером, предоставляющим gRPC API, то нужен сервер. На PHP нельзя сделать gRPC сервер, видимо поэтому и предлагают node.js. Попробуйте поднять сервер на линуксе, вместо openserver. Тогда появятся команды, описанные в доке, и вообще разработка станет гораздо проще.

3. Простых доков по gRPC не видел.

Помимо самого gRPC вам придётся разобраться ещё и с protobuf, так как gRPC основан на нём. Его тоже необходимо установить либо как модуль к PHP, либо как composer зависимость. Помимо этого, удалённый сервер должен предоставить proto файл, на основе которого вы будете делать gRPC клиента. Этот файл необходимо скомпилировать при помощи protoc (компилятора protobuf) с использованием специального плагина к нему - grpc_php_plugin. В результате получится набор PHP скриптов, реализующих gRPC клиента для доступа к API удалённого сервера. Вот эти скрипты вы и будете использовать в своих скриптах для общения с сервером.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы