https://blog.csdn.net/kobejayandy/article/details/15028503 昨天小邪讲的培训的内容,对集群大访问量的应用很有针对性的一些注意点。 1.隔离。 发生问题,能控制在一个小的范围。 物理隔离/虚拟(容器,实例,VM)隔离/流控 2.内存溢出。 代码细节,数据量,进程数控制。 3.预估数量,阀值控制。 远程获取的变量需谨慎处理 4.超时 QPS = 1000ms / rt(timeOutAvg) * threadCount *QPS越高,线程越少,越完美。 超时时间设定需合理 5.流控 比超时更友好,有自我恢复能力 6.异步调用 减少响应时间,在客户端做异步调用 7.限流 限制请求数,Web服务器拦截,以QPS为准 8.降级 对弱依赖有效/最好能做到自动降级,自动恢复 9.开关 手动降级,关闭服务,临时可能会忽略。需有专人负责 10.热点缓存 容易被攻击,策略:将被攻击的或者不存在的数据放入Cache,不查询DB。 11.缓存容灾 多份缓存,并且有对应DB的整套缓存,能独立成为数据源 12.依赖Jar包冲突 二方包间接依赖冲突检测,mvn:dependency:tree 13.内部调用优先 路由,同机房优先调用DB,Cache。 14.依赖诊断和调试 接口调试(在线),一些小脚本,jsp能迅速模拟调用 15.日志跟踪 traceId