就是类似于 https://api.weixin.qq.com/xxx,
目前我们这边仅用了 nginx,upstream 做负载均衡这样...调用量大了还是有些瓶颈。
有什么可以优化或改造的地方吗?
1
opengps 2021-05-06 14:40:54 +08:00
基础架构说的是服务器硬件?对于软件来说,能实现功能,数据库分流基本就没有大问题了
大型平台的承载力其实就是堆硬件,各种负载均衡,冗余,加速等产品的配合,后端 api 实际上未必稳定,只是因为服务器数量多了,出故障的会自动下线,大部分小故障没人会从外部发现而已 |
2
killva4624 2021-05-06 15:19:53 +08:00
API 这类架构基本没什么太多的变化吧?可以尝试拓宽一些别的思路,比如多地区、多地域均分负载,调用量大的时候动态调整后端 worker 数量。
|
3
rrfeng 2021-05-06 15:21:36 +08:00
『调用量大了还是有些瓶颈』
Nginx 是 7 层负载均衡,前面还得有 4 层负载均衡( LVS 之类的),再大还可以上 ECMP,再不行 Anycast 。 |
4
xuanbg 2021-05-06 15:33:50 +08:00
多级负载均衡啊。就和 3 楼说的,不行就加一级负载均衡。。。
|
5
x940727 2021-05-06 16:48:12 +08:00
NGINX 如果都有瓶颈的话就在前面加硬件负载呗,如果硬件负载都不够就去找运营商呗……如果嫌贵就找云商也行,阿里云的 SLB 价格还行
|
6
janxin 2021-05-06 16:51:31 +08:00
你要先看瓶颈在哪,所以监控一定要完善,一定程度上能发现问题在哪
然后就是看短板,根据短板上方案,上面都说了很多了 |
7
saytesnake OP |
8
ch2 2021-05-06 17:49:34 +08:00
你都说了有瓶颈,那你说说瓶颈到底是啥
|
9
labulaka521 2021-05-06 18:53:52 +08:00
nginx ipvs dpvs dns 都往上整
|
10
zjyl1994 2021-05-06 19:27:50 +08:00
根据我在腾讯外包干过的经验,他们应对流量冲击的解决方法就是加机器,反正都是 TKE 的容器云可以随时扩缩。
真别想的太复杂,大公司就是加钱解决大部分问题 |
11
zjyl1994 2021-05-06 19:31:13 +08:00
而且,配合上对应的监控体系自动剔出死了的 pod 再拉起新的 pod,后端几百个实例里挂一两个重启需要 1 分多钟的容器前面根本感知不到。
|
12
hotsymbol 2021-05-06 23:52:57 +08:00
k8s + istlo + nginx
|
13
dallaslu 2021-05-07 11:24:22 +08:00
DNS 轮询用起来
|
14
kiotech 2021-05-07 13:50:35 +08:00
微信 API"可靠"的方式,也很简单粗暴。直接下架商家服务。先开枪,再提问题。
|
15
ychost 2021-05-07 14:36:00 +08:00
基本都是靠怼机器,真正稳定是数据库稳定就行了,上面运行的 API 业务逻辑正常就差不多了
|
16
cominghome 2021-05-08 16:48:18 +08:00
堆!机!器!
加!陪!置! 毕竟就算是代码有性能问题,宕机了锅还是得运维背 |