Go 接收公众号后台回调,再转发给 PHP ,这个构想可行么?

142 天前
 Chaopi

做的微信服务号的后台,项目是用 PHP ( php-fpm ,有 opcache )+Laravel ,平时发模板消息比较多,但每个模板消息发送后都会给服务号后台接口推发送结果,然而业务不关心这些结果。

想到处理每个消息模板的发送结果都要跑一遍 Laravel 框架就觉得浪费资源,于是做了第一个修改,给 /project/public/index.php 在加载 Laravel 框架前,抓 php://input 判断有没有包含 ""字眼,有就直接返回空字符串,不再加载后面框架。

然而这实际上还是消耗了 php-fpm 资源,最近想到第二个方案:用 Go 写一个接口作为微信服务号后台,Go 收到请求后判断 POST 内容有没有 "" 如果有直接返回空字符给微信,否则把该次请求的内容拿去请求原来 PHP 写的服务号后台接口,把原接口返回请求结果再返回给微信。

可以给服务器配置个 host ,让这个 PHP 请求直接走服务器本地,不走外网。

不知道这样的方案有没有坑?求 v 友意见。

1718 次点击
所在节点    程序员
10 条回复
CHTuring
142 天前
这不是很正常的方案吗,公司内部的的短链、统一消息服务都是分离出来这么做的啊。
uqf0663
142 天前
得先说清楚数据量再定,就像我曾经的博客,沉迷于各种优化手段,但是实际每天 PV 不到 100 ,即使什么手段都不做直接就查库,1C1G 的机器也完全能轻松应对,现在回首那多少个通宵搞优化的自己简直就是沙雕。
sagaxu
142 天前
FPM 实际上性能不弱,每天只有百八十万条消息的话没必要优化边边角角
clf
142 天前
甚至网关都能过滤这种请求吧?
mrpzx001
142 天前
workerman/swoole 都可以轻松处理掉,为啥要上 go 呢
eslizn
142 天前
都用 laravel 了,看看官方的 server 方案 octane
jonsmith
142 天前
只是过滤请求的话,感觉 nginx 能做到吧。不过这个信息接收真的并发很大吗
mengzhuo
142 天前
自己写个 php 处理程序不就好了……没必要上 Go 啊
p1gd0g
142 天前
我们公司 php 迁移 go 就是这么干的
guanhui07
141 天前
用 workerman 或 swoole 都可以解决 ,或者你可以单独配置模版消息的 fpm 服务器,区分域名不就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1062217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX