Laravel 中构建 grpc 服务--准备工作

本文主要讲述在 laravel 框架中构建 grpc 服务的准备工作
注:
1.php 做 grpc 的客户端,这里我会采用 go 语言编写 grpc 的服务端,后续文章会讲到
2. 客户端与服务端通信是通过 protocol buffers 进行交互的
那么什么是 protocol buffers?请参考:

  1. https://developers.google.cn/protocol-buff...
  2. https://www.jianshu.com/p/a24c88c0526a
  3. https://www.jianshu.com/p/2265f56805fa

环境如下:

macos 10.3.6
php 版本:7.1.2
laravel 版本:5.8

首先你的 php 需要安装 grpc 扩展:
Laravel中配置Grpc服务

这里我选择的手动编译安装,安装步骤就不演示了,如果你需要帮助可以私信我。
grpc 扩展下载地址:http://pecl.php.net/package/gRPC
当然,你也可以使用 pecl 直接安装,pecl install grpc-1.20.0

你的机器上需要安装 protobuf,这里我使用 homebrew 进行安装
查找命令:brew search protobuf
安装命令:brew install protobuf

Laravel 中配置 Grpc 服务--准备工作

然后你需要在你的 laravel 项目的 composer.json 中引入 “grpc/grpc” 和 “google/protobuf” 这两个 SDK,版本号如图:
Laravel中配置Grpc服务
执行 composer update

在项目根目录下创建一个叫 grpc 的文件夹,在此文件夹中创建一个叫 test.proto 的文件,文件内容如下:

Laravel 中构建 grpc 服务--准备工作

.proto 结尾的文件一式两份,客户端保存一份、服务端保存一份,相当于定义了交互的格式。

就此,我们的准备工作已经完成
参考资料
https://grpc.io/docs/quickstart/php/

本作品采用《CC 协议》,转载必须注明作者和本文链接
shubiao-yao
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 3

谁说不能做 grpc 服务端,swoole 了解一下?

6年前 评论

protoc 插件有快速安装的方法嘛,就那个

5年前 评论

准备好了,没有实战应用吗?

4年前 评论
shubiao-yao (楼主) 4年前