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