高性能设计要点

动静分离和CDN加速

图片、视频走CDN

多级缓存(本地缓存+分布式缓存)

热点内容(评论、帖子)本地缓存

读写分离(Master/Slave、一主多从)

mysql主从架构

异步(消息、多线程)

生产内容异步写入消息队列

批量读写

  • Kafka的批量发送
  • 合并计算(点赞计数)

数据异构(宽表、搜索引擎、转换为时候高并发读的结构)

ES

数据分片

  • Kafka的Partition
  • 数据库的分库分表

网络线程模型1+N+M(监听线程+IO线程+业务线程)

tomcat线程模型

Netty线程模型

使用内存代替DB事务操作(写内存+预写日志WAL(LSM树))

Hbase

分治法(多机房、多实例、数据分片)

异地多活

并发请求串行化(请求排队)+ 单进程单线程

Redis、nginx

数据压缩

kafka数据压缩。

冷热分离

Feed流表按照时间分区

高效的数据结构

Redis的压缩列表、跳表、布隆过滤器

无锁架构,减少资源竞争

Disruptor无锁设计。Disruptor底层采用RingBuffer的结构,就是一个循环使用下标的数组;CAS保证游标线程安全;底层数组,充分利用缓存

Log4j 2的异步模式采用了Disruptor来处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值