我开始组建一个团队来开发聊天服务器(我们都是大学生),我们做了一些研究,发现netty最适合这种基于并发的应用程序。
我们从未有过在java中开发服务器端应用程序的经验,这是我们第一次解决这类项目,我只需要正确的方向来构建这个服务器。
我们的目标是建立像whatsapp,kik messenger,Line或weChat这样的东西。
真正的问题是,如何使我们的netty应用程序可扩展?我们需要使用redis来持久保存数据吗?我们需要使用mysql来保存关系还是像mongodb这样的nosql数据库?
希望有人能指导我们。
答案 0 :(得分:1)
如果您还没有完成,可以查看文档:
可扩展性是一个复杂的装束。人们可以考虑使您的应用程序能够实现多服务器(水平可伸缩性),但它实际上取决于您的信息/上下文/会话如何可用/更新...
您当然可以考虑使用一些Redis来保持数据持久性。
在数据库使用方面,它主要取决于您的数据如何以及您是否需要使用SQL语言建立关系,或者您的应用程序是否可以为您执行此操作(要清楚,您是否希望数据库为您创建连接部分) SQL命令,或者你想使用应用程序吗?)。它还取决于数据量(1百万,1亿,?)和连接数量。
所以一切都是你的选择......
然后你可以回过头来解决一些问题。