高并发、高可用的一些记录(摘选《亿级流量》)
2017-06-04 本文已影响32人
小潘童鞋
第一篇简书,纯做记录
1、高并发
实现系统的高并发的过程中,核心是提高系统的响应速度,努力保证系统快速的返回
内容,减少用户的等待时间。
1.1 高并发的一些实现方式
1) 服务化。减少一些保姆式系统的存在,努力系统拆分成一些具有独立性质的小系统(不同的微服务系统),减少因为功能的聚合而产生的无妄之灾(因为某个热点模块的问题导致整个系统的不可用)。
2)消息队列。通过消息(rocketmq、rabbitmq、kafka等)的方式增加系统之间的吞吐量
3)多级多样缓存。通过缓存技术来减少访问过程中对DB、应用的压力
4)并发化。数学统筹学概念,在同一时间做可以同时进行的事以节省时间
2、高可用
保证服务的高可用性,保证服务可以降级,不会因为系统的一些不必要的故障导致系统处于瘫痪状态。
2.1 高可用的几种实现方式
1) 降级,服务具备降级能力,例如本地缓存有问题,可以直接越过本地缓存,直接访问分布式缓存
2) 限流。秒杀系统中,如果有大量的用户涌入,可以通过nginx过滤一些去请求,加入缓存队列等
3) 流量切换。对于发布的时候的AB机房的不同时发布,可以把用户流量全部切换到没有发布的机器,新版本的服务外部用户不能访问,内部员工可以做黑盒测试。
4) 可回滚。系统发布有问题,可以立马回滚新版本代码或者回滚新版本的活动页面的内容。