如何使我们的 netty 应用程序可扩展?

How to make our netty app scalable?

我正在组建一个 2 人团队开发聊天服务器(我们都是大学生),我们做了一些研究,发现 netty 最适合这种基于并发的应用程序。

我们在 java 中从未有过开发服务器端应用程序的经验,这是我们第一次处理此类项目,我只需要正确的方向让我们以正确的方式构建此服务器。

我们的目标是构建类似 whatsapp、kik messenger、Line 或 weChat 的东西。

真正的问题是,如何使我们的 netty 应用程序具有可扩展性?我们需要使用redis来持久化数据吗?我们需要使用 mysql 来保存关系还是像 mongodb 这样的 nosql 数据库?

希望有人能指导我们。

如果您还没有查看文档,您可以看看:

可伸缩性是一个复杂的答案。可以考虑让您的应用程序支持多服务器(水平可扩展性),但这实际上取决于您的 information/context/session 是 available/updated...

您当然可以考虑使用一些 Redis 来实现数据持久化。

关于数据库的使用,主要取决于你的数据是怎样的,如果你需要使用SQL语言建立关系,或者你的应用程序是否可以为你做(说清楚,你想让数据库为你在你的 SQL 命令中加入部分,或者你想使用应用程序来做这件事?)。它还取决于数据量(100 万,10 亿,?)和连接量。

所以一切都是你的选择...

然后你可以带着你遇到的一些问题回来。