高并发
横向扩展
加机器,加配置
缓存
- 本地缓存
- 分布式缓存
- 集中式缓存
- CPU缓存
- 操作系统缓存
- HTTP缓存
- 数据库缓存
- 缓存一致性
异步
- 分布式消息队列
- 本地消息队列
- 线程异步回调
- NIO/AIO
高性能
增加并行计算能力
- 加机器,加配置
- 线程池
- http连接池
- 多路复用
- 锁降级
- 并行I/O
减小单次任务响应时间
- 缓存
- 时间复杂度
- 池化
- 锁降级
- 线程预热
- 长连接
高可用
故障转移
- 对等节点
所有节点承担读写,且节点内部无状态。节点失败,无影响。
- 非对等节点
基于分布式选举算法进行协同作业的主从备节点集群;基于分布式一致性算法进行存储的节点集群。”心跳检测机制”触发选举操作。
超时控制
不限制的让请求持续等待或占用资源,会导致流量挤压,引起雪崩似的超时。所以超时控制是一种”舍小家为大家”策略,体现的是牺牲少量请求,保证系统整体可用性的智慧。常用措施:同步自定义超时打断机制,异步wait/notify机制和利用future和countdonwlatch等关键字。
流量控制
超时控制是在请求处理阶段采取的截断措施,而流量控制则是在请求进入阶段根据系统负载利用qps指标进行拦截的措施。常用算法:漏桶算法和令牌桶算法。
降级管理
降级是为了保证核心服务稳定而牺牲边缘服务的做法,是一种”舍卒保车”策略。
熔断机制
熔断机制是一种快速失败的实现方案,在下游服务故障时利用快速失败机制降低对整体系统性能的影响。
重试机制
重试是一种保障业务运行的容错补偿机制。包含:同步有限次重试,异步跑批重试。
幂等
幂等是支持重试机制的重要手段。常用措施:全局唯一id,锁(悲观锁乐观锁)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END