默认
发表评论 9
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
高性能的IM服务器端的数据持久化问题该怎么设计和处理
阅读(52114) | 评论(9 收藏4 淘帖1 1
在IM开发里,服务器端数据持久化一般是怎么实现的?
论坛里的技术贴几乎没有讲这个方面的,由于需要使用很多服务器,担心会有竞争条件的产生以及并发情况下出现问题,因此想要在数据库服务器上运行一个代理程序,接受其他服务器发来的增删改查请求,并将结果返回。消息服务器和数据库代理采用tcp长连接。
这里就有个问题,消息服务器和数据库代理的交互采用同步还是异步,同步必然会导致性能下降,异步的话消息服务器收到了返回数据怎么知道是要干嘛的呢?
如果加上redis进行缓存的话又该怎么处理
以上是我个人想法,水平太差 忘各位大神给一个比较方便的解决方案。

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:IM服务端读取客户端数据包超过缓冲区长度的问题下一篇:自已写IM服务端怎么保存客户端Socket连接?

本帖已收录至以下技术专辑

推荐方案
评论 9
引用:JackJiang 发表于 2016-10-26 20:10
异步是必然的,否则再牛逼的服务器单机也很容易出现瓶颈,去看看高性能网络编程的C10K编程:http://www.52i ...

在论坛的帖子里有看到您讲的这些知识,用http访问一些非实时信息这些内容我也有一定的了解,可能我问问题说的不太清楚。。可能有一些情况下需要和数据库交互,比如存储聊天记录,我是想问在这样的情况下是不是也只需要一个tcp包发给dbproxy甩给它就完了。。因为我刚入门了解的不是很多。。想知道主流的情况一般都是怎么处理持久化的
引用:PonyZhao 发表于 2016-10-26 21:18
你们几个人做IM?不会是你一个人吧,关键你还没经验,这有点悬啊

我是自己感兴趣,然后自己写,不是公司,我还是学生。。没有工作,之前一直做web和ios 做腻了想转一下
引用:只是路过 发表于 2016-10-26 21:19
楼主几年工作经验了?之前主要干的哪一块?考虑的挺细的

刚入门。。还没什么经验,只是喜欢 就研究了一些,感觉现在思路受teamtalk影响比较大
现在是想按teamtalk的思路来自己实现一个,但是我是用go写,c++用的不多没有研究过tt的代码,就按着它的架构来一点点学习和实现
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部