场景:
php-fpm 应用。秒杀活动。偶尔一次不经常。 nginx->fpm 直接 502
问题:
nginx 限流好像是根据某个 ip 限制或者即便全局限制不能定义响应内容?
疑惑:
一共开了 100 个 php-fpm 进程,那就限制 nginx 的全局并发连接数为 100 ?或者超过 100 ,但是正在处理的请求超过 100 后直接返回 http 200 contnet:json: code:xxxx,msg:当前活动爆满请稍后再试.. ?
尝试用 go 写了个 fcgiclient (所以发到了 go 节点),由 go 在 servehttp 中判断全局 redis 计数器或单机计数器,然后流量由 go 接管做内部队列,返回 sid ( sessionid ),前端轮询 sid 。
为啥不用 php 做,因为流量就到不了 fpm ,nginx->fpm 直接就 502 了
目标:
所有流量都必须正确响应 200 ,5xx 响应为 0 次。每一个用户的每一次请求都正常返回友好提示。