高并发之高可用架构

1.集群部署,通过负载均衡减轻单机压力;
2.多级缓存架构,包括静态数据使用CDN,本地缓存、分布式缓存等,以及对缓存场景中的热点key、缓存穿透、缓存数据一致性等问题处理;
3.分库分表和索引优化,以及借助搜索引擎解决复杂查询问题;
4.考虑nosql数据库的使用,比如Hbase、mongodb等,但是团队必须要熟悉这些组件,并有较强的运维能力。
5.异步化,将次要流程通过多线程、MQ、甚至延时队列进行异步处理;
6.限流,需要先考虑业务是否允许限流,参加前端限流、nginx接入层的限流和服务端的限流;
7.对流量进行削峰填谷,通过MQ承接流量;
8.并发处理,通过多线程将串行逻辑并行化;9.预计算,比如抢红包场景,可以提前计算好红包的金额缓存起来,发红包的时候直接使用即可;
10.缓存预热,通过异步任务提前预热数据到本地缓存,或者分布式缓存当中;
11.减少io次数,比如数据库和缓存的批量读写、远程调用批量接口支持;
12.减少IO时的数据包大小,包括采用轻量级的通信协议,合适的数据结构、去掉接口中的多余字段、减少缓存key的大小、压缩缓存value等;
13.各种池化技术的使用和池大小的设置,包括http请求池、线程池(考虑CPU密集型还是IO密集型设置核心参数)、数据库和redis连接池等;
14.JVM的优化,包括年轻代和老年代的大小,gc垃圾回收算法的选择等,尽可能的减少gc的频率和耗时;
15.锁选择,读多写少的场景使用读写锁,或者乐观锁减少锁冲突;

上述方案,都是从计算和IO两个层面考虑所有可能的优化点,需要有配套的监控系统实时了解当前的性能表现,并支撑你进行性能瓶颈分析,然后再遵循二八原则,抓主要矛盾进行优化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值