面试的时候,面试官问我说:nginx 在高并发的情况下如何处理
大致的问答如下(面试官简称面):
- 官:在服务器的带宽,cpu,内存,I/O 都正常的情况下。程序没有接收到请求,你会从哪方面查原因?
- 我:查看 nginx 的日志,看有没有收到请求?请求处理时间多久?看看是那条请求处理时间过长?
- 官:那你要如何处理?
- 我:使用 nginx 的负载均衡进行转发请求
- 官:那假如有 1百万/s 的请求,nginx的队列满了,后面的请求只能排队怎么办?
- 我:从客户端层面进行数据拦截,过滤不必要的请求。
- 官:所有的请求都是正常的,必须的。
- 我:如果是不同项目可以配置在不同的服务器上,通过不同的DNS解析。
- 官:只有一个项目。
- 我:……(回答不出来)
- 官:例如刷票软件,每秒都会切换ip,虽然发送的请求都是无效的,但是他们发请求,我们也阻止不了。
- 我:……
这种情况怎么处理?刷屏软件不应该从客户端进行请求过滤,而不需要向服务器进行请求的吗?
像这种高并发到转发都来不及的情况,实际上什么情景会碰到?有处理方法吗?
关于 LearnKu
官:例如刷票软件,每秒都会切换 ip,虽然发送的请求都是无效的,但是他们发请求,我们也阻止不了。
抢票的时候不是客户端每一次抢票都会发到后台的,前端也可以做限流处理的吧。就算是有效的抢票请求,有一部分也不让他们请求到后台。

这是电商进阶教程里说的:9.9. 随机拒绝《L06 Laravel 教程 - 电商进阶 ( Laravel 5.8 ) 》
官:那假如有 1 百万 /s 的请求,nginx 的队列满了,后面的请求只能排队怎么办?
加服务器啊。假如有一万台服务器,那不是一秒钟就只处理100此请求了吗
面试官纯属抬杠,这个问题已经上升到拒绝服务攻击防范了,根本和nginx处理并发不在一个层面。
感觉面试官在扯蛋吧,每个请求都必须要,但是100万请求/S,你应该问他,你们公司的业务有这么庞大吗?职位打算给多少钱招人
面试造飞机,上班拧螺丝! :see_no_evil:
这种面试官,水平也就那样,不知道从哪个地方找到几个不切实际的问题来瞎几把问。把面试者问倒,觉得自己很厉害。
问这种题就是想压你价格
“什么,这种题都答不出来,就想要12K!9k不能再多了”
这个面试官是健身达人吗,这么喜欢抬杠,你就怼他,我要是处理过百万并发的场景,今天就不会坐在这里让你面试
你没有反问他怎么办嘛?
@linxb 哈哈,反正感觉也没有戏,还不如怼他,这样也很爽了!
哈哈哈 100w/s 。
做过最大的60万日活 qps12000
100w/s,不就 40亿日活,地球一半的人都在用,哈哈哈哈哈
大多数问出这种问题的面试官,做过的项目qps估计都在100以下,没有实战经验 ,整天拿个测试工具在那测并发 :joy:
面试官总喜欢这么问,好像不问倒都体现不了他的水平一样。