Laravel整合gRPC

本文记录了使用Laravel实现REST API并调用Golang gRPC服务的整合过程,包括环境准备(安装grpc和protobuf扩展)、编写proto文件、生成PHP gRPC客户端代码并拷贝到指定目录,以及在Laravel中编写Controller进行调用。

最近需要用Laravel实现一个Rest的API,后端调用Golang的RPC服务,记录一下整合的过程。

环境准备

  1. php安装grpc和protobuf扩展
pecl install grpc
pecl install protobuf

找到php.ini文件,添加下面两行:

extension=grpc.so
extension=protobuf.so
  1. clone一个grpc的repo
git clone https://github.com/grpc/grpc.git

假设目录在/home/aaa/下面

  1. 安装protobuf
apt install protobuf

准备proto文件

文件名:userrpc.proto,内容如下

syntax = "proto3";
package App.UserRpc;


service User{
  rpc UserLogin(LoginInfo) returns (UserInfo) {}
}

message LoginInfo{
  string loginname= 1;
  string password= 2;
}


message UserInfo{
 int32 code= 1;
  string err_msg= 2;
  string token= 3;
  int32 userid= 4;
  string username= 5;
}

其中定义了两种消息结构和一个rpc服务。

生成PHP的gRPC客户端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值