二.隔离
隔离:是指将系统或者资源分隔开
隔离的好处:当系统发生故障时,能限定故障的传播范围,只影响出问题的服务,其次,可以通过隔离减少服务间的资源竞争,互不影响可用性
常用隔离手段:线程隔离,进程隔离,集群隔离,机房隔离,读写隔离,快慢隔离,动静隔离,爬虫隔离
1.线程隔离:不同的请求应该用不同的线程池隔离,当某种业务请求量突然暴增时,业务线程也只会打满自己的业务线程池,不会影响其他业务,可以将耗时比较大的,或者核心业务单独放一个线程池,其他的再放另一个线程池
2.进程隔离:不同的业务系统应该隔离,比如推荐系统和商场系统,当推荐系统oom时,不会影响商场系统
3.集群隔离:为一并发较高的业务单独设置集群,比如秒杀系统,再比如灰度
4.机房隔离:防止物理原因(比如光缆断了),切流量
5.读写隔离:读取应先读取从集群,再读写主集群
6.动静隔离:静态资源可以放cdn
7.爬虫隔离:对一些恶意ip,应该进行限流,不过考虑到公司的公网ip一般是同一个。可以用ip+cookie的方式限制,或者访问带验证码