5. 用Go打造现代IM之百万消息QPS的数据库

单机百万吞吐量的IM他的性能瓶颈在哪里?

瓶颈位置

IM最大的数据的读写就是消息,消息的存储是决定此IM系统是否有较高的消息吞吐量的主要原因之一

常见数据库QPS

MySQL: QPS一般3000-7000左右 (参考:https://blog.csdn.net/tianya_lu/article/details/105096667)

MongoDB:QPS一般在2万-4万左右 (参考:https://blog.csdn.net/sunny_day_day/article/details/108578995)

Redis:QPS一般是10万-20万左右

问题分析

传统的MySQL QPS太低,显然不太适合消息这种读写太频繁的场景。

MongoDB虽然比MySQL QPS高不少,但是还远远没有达到我们的预期。

Redis已经接近了我们的预期,但是Redis是内存数据库,不适合存大量的消息,并且有丢消息的概率。

理想中的数据库

是否有一款数据库比Redis的QPS还要高并且不会丢消息又像MySQL一样适合多维度查询的数据库?

我们的开源IM

通讯层:https://github.com/WuKongIM/WuKongIM

业务层:https://github.com/TangSengDaoDao/TangSengDaoDaoServer

下一篇: 用Go打造现代IM之自研消息数据库一

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值