java – 聊天服务器:保存对话日志的最佳(优化)方式是什么

我正在java中构建一个简单的聊天服务器,用户可以在其中进行私人对话.我想在服务器级别(而不是在客户端)保存这些对话,以便我可以将它们作为对话日志服务列出给用户.
我也在我的软件中使用MySQL作为数据库.

我正在寻找的是保存这些对话的优化方法,以及稍后列出它们的快速方法.
到目前为止,我已经考虑了2个实现.

>使用MySQL数据库和

a)将对话作为文本连续保存,但问题是某些对话非常庞大(很多字符),我可能在保存整个对话时遇到问题

b)连续保存对话的每一行,但这样当我想列出整个对话时,速度问题就会出现
>将每个会话保存在一个单独的文本文件中,但我担心会出现读/写问题,尤其是当用户(客户端)写入(发送文本)非常快时.

谢谢

解决方法:

你知道,这是一个很大的架构问题.像facebook和twitter这样的公司花了很多时间和金钱以强有力的方式解决你的问题.如果您的聊天服务器很简单(正如您所写),请使用1.b方式,但要创建一个抽象层(类似于saveConversation,getConversation).如果未来的速度不能满足你,那么考虑更高效的表示,比如NoSQL数据库(LevelDB或类似的东西).现在不要考虑性能,制作具有良好抽象和可插拔架构的原型.

上一篇:rockey.chat的搭建。。


下一篇:Springboot集成WebSocket