nuomiphp
正在加载…
请使用更现代的浏览器并启用 JavaScript 以获得最佳浏览体验。
加载论坛时出错,请强制刷新页面重试。
请教一下聊天消息应该用什么数据库存储?
Smilencer
学微信,聊天记录全部 sqllite 存在客户端本地,查询全部在本地
NGUP915
Smilencer
wx 这么🐶???
c332030
Smilencer
#2 微信动不动找不到文件、图片,但是空间又没减少
monkeydream
Smilencer
主要是要考虑消息同步,不同终端之间要保证消息一致性,还有离线消息存储,所以消息必须存在服务器。本地查询会存在 Sqlite 中。
playtomandjerry
Smilencer
也信
superbai
有没有考虑过直接用云服务厂商提供的 IM 功能
WebKit
superbai
云服务厂商的消息不给保存的。保存费用更高。而且定制化太差了
WOLFRAZOR
c332030
这是没做优化的问题吧。优化之后不可能这样的。
coderxy
2 亿条不算多,mongodb 的分片集群可以搞定。 如果量再大,可以考虑 hbase 这一类的分布式数据库,我们用 hbase 存的,一天都不止 1 亿条,稳得很。
monkeydream
coderxy
因为需要走消息同步,获取用户最近消息这个操作也很频繁;不知道 Mongodb 和 Hbase 针对这种并发查询的性能咋样?
tramm
查询的话都是查本地的吧.
julyclyde
首先 10w 用户就不可能,想多了
awanganddong
热数据放 redis, 冷数据存 mysql ,定时归档。一般查询的话,都是查本地,如果想实现云端检索类似功能,直接异步走一份到 es 。
推荐个网站
http://www.52im.net/
即时通讯网
im 这块是天坑。单纯存储的不复杂。
monkeydream
awanganddong
多谢。
coderxy
monkeydream
我们是仿照钉钉走的拉模式,全部都是走数据库,反正 hbase 稳得很(请求量大了或者数据量大了都会自动分片)。mongodb 的话,如果你用分片集群,提前做好压测,应该也没啥问题。
tairan2006
你要做线上查询的话,肯定推荐 es 吧。
不然的话推荐用时序数据库,或者 hbase 这些方案也能用。
monkeydream
tairan2006
ES 可以考虑下;时序数据库没接触过,不太敢用。
monkeydream
coderxy
多谢;那我们估计优先考虑 mongodb ,因为目前项目中已经有些应用在尝试使用 mongodb 数据库。
masterclock
公司有 10 万人?买一套不好吗?为啥要浪费时间开发?
monkeydream
masterclock
IM 聊天是我们 SAAS 产品的一部分;不只是我们公司自己用。
coderxy
masterclock
第三方的各种限制,而且也不便宜。 有能力的话自研一下其实成本不高的。
coderxy
monkeydream
可以的,符合自己需求的才是最好的。 毕竟 hbase 这一类数据库用的人少,维护起来也比较麻烦。IM 领域真正麻烦的是超大群,其它都还好。
di1012
要不试试时序数据库?
monkeydream
di1012
你们实际项目生产上有使用过吗?我们没接触过这块,怕坑太多。
下一页 »