容灾
- 数据容灾:将本地数据备份在异地系统。异地系统的备份是本地的关键数据的备份。采用技术:数据备份和数据复制技术。
- 应用容灾:建立在数据备份的基础上,在异地建立一套完整的与本地系统相当的备份系统,可以是互用备份。
采用的是有一个本地的coach,每次模块从coach中拿数据,coach是数据库得即时备份,如果coach中没有,那么就说明数据库里面也没有这个数据。
限流
防止恶意请求流量,恶意攻击。
- 通过对并发的请求或者访问进行限速或者设置一个时间窗口内的请求进行限速来保护系统。一旦达到限制速率可以拒绝服务(定向到错误页或者告知资源没有了)排队或者等待(秒杀、下单)降级(返回兜底数据或者默认数据,如商品详情页库存默认有货)
- 常见限流方式:限制并发数;如数据库连接池,线程池;限制瞬时并发数;限制时间窗口内的平均速率;限制远程接口调用速率;限制MQ的消费速率;还可以根据网络连接数,网络流量,CPU或内存负载限流。
- 常见的限流算法:滑动窗口(建立一个窗口,每次固定大小的可以访问);漏桶(控制传输速率)算法思想是不断向桶里注水,无论水的速率是快还是慢,水都是按照固定速率放外面漏水,如果桶满了就会溢出;令牌桶:能够解决突发流量
熔断
- 在固定的时间窗口内,接口调用超时比率达到一个阈值,会开启熔断,进入熔断后,后续对服务接口的调用不再经过网络,直接执行本地的默认方法,达到服务降级的效果。当过了规定时间后服务将从熔断状态恢复过来,再次接受调用方的远程调用。
- 实现熔断的框架:SpringCloudHystrix
数据埋点
- 数据统计
- 用户行为统计
- 统计相关销售、漏斗等数据;统计用户操作习惯数据,数据用于优化相关购买流程,提升转化率。