温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
即时通讯I'M离线消息该怎么存?本篇文章将全面盘点主流离线消息存储方案。离线消息是I'M系统的核心能力,但用户不在线时,消息必须可靠存储,带用户上线后完整推送。本文将对比主流的离线消息存储方案,帮你找到最适合业务场景的架构。1离线消息的业务特征和主流存储方案概览。二存储方案1MMYSQL分库分表。优点,简单可靠,事物支持,容易实现分页和删除。缺点,写入吞吐有限,5KTPS存储成本高,数据过期需手动清理。存储方案2 radi.优点,读写性能极高,50K+TP自动过期,无需清理任务内存操作延迟低,小于5ms。缺点,存储成本高,内存是磁盘的10倍,消息量大时内存压力大。存储方案3HBS。
01:02
优点,海量存储能力,PB级写入吞储高,100K+TPS自动投股期。缺点,查询灵活性差,只能按low key, 运维复杂。存储方案4 ksandra.优点,全球多活,跨地域部署,写入吞吐极高,200K+TPS,无单点故障。缺点,最终一致性可能读到旧数据,查询能力受限。存储方案5 rocket MQ.优点,无需由外存储组件复用,Imq天然支持消息顺序和重视,简单易实现。缺点,长时间离线会堆积大量消息,消费能力受IQ性能限制。存储方案6,对象存储,将m data.优点,存储成本极低,无限扩展能力,适合大文件。缺点,访问延迟高,100ms加,不适合高频读写。
02:00
八方案选型建议。9性能对比总结。选择方案时,建议从当前业务规模出发,预留2~3年的增长空间,不要过度设计,好的架构是引进出来的,不是一开始就完美的。中小规模用户小于1000万,使用radi加定时落盘MYSQL实时消息存RADI7天过期,每天凌晨将radi消息批量写入MYSQL做永久备份。大规模用户大于1000万,使用radi热存加HBS全量加oss大文件radi存储最近三天消息毫秒级拉取,HBS存储所有消息,支持历史回溯,Oss存储图片、视频等大文件统一IPI层屏蔽底层存储差异。极端规模10亿级用户使用自定义存储引擎加消息队列加分层存储,基于boxx cb的本地存储热数据,分布式KV存储、win数据,对象存储的数据归档。
我来说两句