我司现在是使用 Go Server (gRPC),但是 PHP Client/Server 那边希望 IDL 能够互通
但是翻查了一圈,没发现 PHP Server 支持 Protobuf 的
想请教下大家有什么好的推荐,或方案呢?

我司现在是使用 Go Server (gRPC),但是 PHP Client/Server 那边希望 IDL 能够互通
但是翻查了一圈,没发现 PHP Server 支持 Protobuf 的
想请教下大家有什么好的推荐,或方案呢?
1 cxh116 Aug 22, 2018 via Android |
2 hanxiV2EX Aug 22, 2018 via Android Nginx 已经支持 protobuf 了 |
5 ZddPub Aug 22, 2018 Mark 等方案。。。 |
6 EDDYCJY OP @cxh116 Note that currently you can only create clients in PHP for gRPC services - you can find out how to create gRPC servers in our other tutorials, e.g. Node.js. |
12 kkeiko Aug 22, 2018 没有,不合适 |
13 hanxiV2EX Aug 22, 2018 via Android |
14 g079708 Aug 23, 2018 via iPhone 好像韩天峰用 swoole 在做这个事情。 |
17 millken Aug 23, 2018 我们用 swoole + protobuf 写过 GRPC 服务端,不过后来还是用 Go 重写了,微服务架构下,还是用 Go 来得方便。 |
18 hj2002007 Aug 23, 2018 zeroc ice 了解一下,多语言支持 客户端代码通过服务端提供的 Ice 对象 ID 连接服务端即可 |
19 qiujin Sep 3, 2018 写过简单的 PHP Grpc Server,如果不涉及到数据流等在 fpm 环境下不适合实现的功能外,用 PHP 实现一个简单的 Grpc Server 还是可以的。 https://github.com/qiu-jin/phpegg/blob/master/framework/core/app/Grpc.php |
20 EDDYCJY OP @millken 您好,请问之前你们用的 Swoole + Protobuf 的 gRPC Server 的具体实现,有地方可以看看代码怎么实现的吗? |
21 millken Oct 24, 2018 |
22 onanying Jun 24, 2020 http://openmix.org/ 开发的 Mix gRPC,并且使用 golang 开发了 protoc 的插件,能直接生成基于 Swoole 协程的 Server/Client,与 Golang 编写微服务体验一致,无框架依赖的通用 PHP gRPC 库: https://github.com/mix-php/grpc |