集思广益,上司提了个需求要短时间可以扛住 200 万 req/s

281 天前
 owen800q

先说下背景,跨境电商,主要是 tiktok 直播带货,我们是下游平台,平台技术架构是用 aws serverless lambda, api gateway 和 dynamodb

一开始 aws 是给了 3000 的 concurrency quota, 后来业务爆发性增长,年中时我们向 aws 申请加到了 5 万 lambda 并发数,本来以为应该可以应付一切了,但上星期日志出现了大量 500 internal server error, 原来是达到 5 万+了,我们问了下 aws 技术支持,说我们当天的峰值到达了 12 万+ req/s

导致大量商家无法创建下游订单, 大老板直接提了个要求是不允许再发生这种情况, 要求要扛住至少 200 万 请求

Api gateway 和 dynamodb 是没性应限制的,主要是 lambda 并发数提不上去, aws 那边说最多只能把 lambda 最大并发只能提到 100k

21795 次点击
所在节点    程序员
159 条回复
salmon5
281 天前
真嘟假嘟
kuituosi
281 天前
12 万+ req/s 这个量级不是正常流量了,考虑恶意攻击问题
privil
281 天前
200 万 req/s 那得多赚钱
leaflxh
281 天前
拉到消息队列里缓存一下(个人想法
coderxy
281 天前
真的假的哦? 12w 请求每秒,如果真的都是正常下单,那你们订单量岂不是爆炸? 那还不赶紧扩大团队,高薪聘请大牛,重构后端架构?
unnamedhao
281 天前
要不是看到这个问题去查了一下,我还真不相信 lambda 这种类型的服务器有最高并发限制。。。。
你可以询问一下 aws ,并发最高限制是针对函数的还是针对账户的
如果是针对函数的可以多创建几个函数,随机访问其中一个
另外根据文档,如果并发到了限制根据文档返回的应该是 429 而不是 500
最好再确认一下 500 的原因
zealotxxxx
281 天前
12 的 QPS 基本上是健康码强度的了。但是你们业务不可能有这么多请求,建议还是检察业务,看看是不是被攻击了。
o562dsRcFqYl375i
281 天前
Lambda 不行就把它换了呗,AWS 上的计算服务又不是只有它一个,大把可以无限堆机器扩容的计算产品
x86
281 天前
钱到位没有扛不住的量,问问老板钱呢
wqhui
281 天前
200w/s 好吓人,春运抢票也没这么夸张吧
opengps
281 天前
提高并发无非就是分散压力,增加后端支撑
doanything
281 天前
12W QPS 。。这么牛逼。考虑用户量与请求量成不成正比先。如果正常的话,那得多赚钱呀。。😕
hsymlg
281 天前
这个 qps 有点逆天啊,我盲猜是最底层服务,然后没有设计好业务逻辑和拆分规则,请求放大被上游服务狂调,这种就是自己业务的事情;或者被攻击了,这个既然已经在 aws 上了,基本的异常流量监控应该有的吧,排查一下喽
biubiuF
281 天前
用 sqs 延时队列触发 lambda ,设置好节拍避免启动过多实例。另外 dynamodb 有读写性能限制。
不过这个数据量还是别用 lambda 了
kanepan19
281 天前
12w ? 这么大的量,已经是赚发了。
换架构,招架构师
ETiV
281 天前
如果怀疑是攻击的话,可以前面先套个 WAF
lsk569937453
281 天前
1 秒 200 万请求,假设 lambda 并发 100k,则每个 lambda 在 1 秒内需要处理 20 个请求,平均每个请求的相应时间不超过 50ms 。

理论上 lambda 和后端机器一样,是无状态的,所以可以任意扩展。

你 1 秒 200 万的请求,真正的瓶颈在后端数据库/缓存。这些有状态的才是你们系统的瓶颈。
keshawnvan
281 天前
12 万 QPS 已经接近天猫双十一的量了。
echoZero
281 天前
200 万 req/s ,12306 都得来找你们做。
lbp0200
281 天前
试试 Amazon EC2 Auto Scaling ,这个只有流量的限制,直播时开启 128 台机器,平时维持 3 台

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

https://www.fyfyfm.apispeedy.workers.dev/t/1000267

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

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

© 2021 V2EX