《打造高性能框架学习》脑图
因文档篇幅比较多,需要免费获取《高可用框架学习文档》的朋友关注、转发后,添加VX;[MXX-0474QAQ]即可免费领取资料的下载链接
01 “三大”设计原则
高并发原则主要包括了无状态原则、拆分原则、服务化原则、消息队列原则、数据异构原则、并发化原则。
高可用原则又包括了降级原则、限流原则、切换流量原则、回滚原则
业务设计原则主要含有防重设计、流程定义设计、幂设计等
02 负载均衡
负载均衡用来解决用户请求到来时如何选择upstream server进行处理,默认采用的是round-robin (轮询),同时支持其他几种算法。
- round-robin:轮询,默认负载均衡算法,即以轮询的方式将请求转发到上游服务器,通过配合weight配置可以实现基于权重的轮询。
- ip_ hash:根据客户IP进行负载均衡,即相同的IP将负载均衡到同一个upstreamserver。
03 隔离
隔离是指将系统或资源分割开,系统隔离是为了在系统发生故障时,能限定传播范围和影响范围,即发生故障后不会出现滚雪球效应,从而保证只有出问题的服务不可用,其他服务还是可用的。
资源隔离通过隔离来减少资源竞争,保障服务间的相互不影响和可用性。京东遇到比较多的隔离手段有线程隔离、进程隔离、集群隔离、读写隔离、快慢隔离、动静隔离等
04 使用Hystrix实现熔断机制
05 高可用框架“应用级缓存”
缓存,目的是让访问速度更快。工作机制是先从缓存中读取数据,如果没有,再从慢速设备上读取实际数据并同步到缓存。那些经常读取的数据、频繁访问的数据、热点数据、I/O瓶颈数据、计算昂贵的数据、符合5分钟法则和局部性原理的数据都可以进行缓存。
06 连接线性池
我们经常会用到池化技术,如对象池、连接池、线程池等,通过池化来减少一些消耗,以提升性能。京东常用连接线性池技术包括数据库连接池、Http连接池、线性池
07 异步并发
在常用的异步并发中,这7种并发技术是必须要掌握的。
- 同步阻塞调用
- 异步Future
- 异步Callback
- 异步编排CompletableFuture
- 异步Web服务实现
- 请求缓存
- 请求合并
08 实现“扩容”
- 单体应用垂直扩容
- 单体应用水平扩容
- 应用拆分
- 数据库拆分
- 数据库分库分表示例
09 队列
队列,在数据结构中是一种线性表,从一端插入数据,然后从另一端删除数据。常见的队列:缓冲队列、任务队列、消息队列、请求队列、数据总线队列、混合队列、Redis队列
10 高可用框架中常见的坑
- SSD性能差
- 键值存储选型压测
- 数据量大时JIMDB同步不动
- 切换主从
- 分片配置
- 开启Nginx Proxy Cache性能不升反降
《高可用性能框架核心文档》目录:
记得帮忙转发+转发+转发哦,添加VX;[MXX-0474QAQ]即可免费领取资料
学习留言
大部分成功是一个时间过程,当你以后成为架构师回望自己刚工作努力学习的模样,你会觉得很值得的。