-
负载均衡,可以用Nginx或者Lvs搭建负载均衡,保证各台机器均衡抗压;
- 双机房,每个机房多个服务节点,并且需要保证在某个机房某台机器重启的时候,其他机器能抗住访问压力;另外,可以做一些热备机器,当流量上涨的时候可以快速接入;
- 过载保护,给各个业务模块添加开关和灰度放量模块;开关可以隔离各个模块,在访问压力大的时候可以适当关闭一些功能来保证基础功能的稳定性;灰度放量不仅可以帮助产品分析另外也能在服务器压力大的时候控制压力;
- 实时监控,监控必不可少,不单单对服务接口本身的监控,还需要对服务本身所在的环境做好监控;比如cpu,内存,磁盘容量等;监控发现有问题最好能出发自动处理脚本,比如关闭某些进程模块或者自动清理一些文件等;当然如果比较复杂的问题,最好还是亲手去观察处理下,这个比较容易赞经验;
- 压测,新部署的机器要做好压测(可以按1小时,6小时,12小时,1天压测,时间短很难发现问题),新上线比较重大的功能也要做好压测,定期在访问量少的时候(比如夜里)做长时间的压测(压个几个小时),及时发现问题并处理。