单机架构!
内核瓶颈 - 优化原理
减少网络小包的发送
内核瓶颈 - 优化方案
将同一秒内的 N 条消息,合并成 1 条消息
合并后,每秒推送次数只等于在线连接数
锁瓶颈 - 优化原理
大拆小
锁瓶颈 - 优化方案
连接打散到多个集合中,每个集合有自己的锁
多线程并发推送多个集合,避免锁竞争
读写锁取代互斥锁,多个推送任务可以并发遍历相同集合
CPU 瓶颈 - 优化原理
减少重复计算
CPU 瓶颈 - 优化方案
json 编码前置,1 次消息编码 + 100 万次推送
消息合并前置,N 条消息合并后只编码 1 次
单机架构图
CPU瓶颈-优化方案
CPU瓶颈-优化原理
锁瓶颈-优化方案
锁瓶颈-优化原理
内核瓶颈-优化方案
内核瓶颈-优化原理
GO千万级消息推送服务单机架构
GO千万级消息推送服务技术难点的解决方案
内核瓶颈
原理:减少网络小包(一般几百个字节)的发送
将同一秒内的N条消息,合并成1条消息
合并后,每秒推送次数只等于在线连接数
锁瓶颈
原理:大拆小
连接打散到多个集合中,每个集合有自己的锁
多线程并发推送多个集合,避免锁竞争
读写锁取代互斥锁,多个推送任务可以并发遍历相同集合
CPU瓶颈
原理:减少重复计算
json编码前置,1次消息编码+100万次推送
消息合并前置,N条消息合并后只编码1次
很有用啦啦
千万级消息推送系统单机架构
CPU瓶颈——优化方案
锁瓶颈——优化方案
内核瓶颈——优化方案
将同一秒内的N条消息(小包),合并成1条消息