如何使我们的 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 亿,?)和连接量。
所以一切都是你的选择...
然后你可以带着你遇到的一些问题回来。
我正在组建一个 2 人团队开发聊天服务器(我们都是大学生),我们做了一些研究,发现 netty 最适合这种基于并发的应用程序。
我们在 java 中从未有过开发服务器端应用程序的经验,这是我们第一次处理此类项目,我只需要正确的方向让我们以正确的方式构建此服务器。
我们的目标是构建类似 whatsapp、kik messenger、Line 或 weChat 的东西。
真正的问题是,如何使我们的 netty 应用程序具有可扩展性?我们需要使用redis来持久化数据吗?我们需要使用 mysql 来保存关系还是像 mongodb 这样的 nosql 数据库?
希望有人能指导我们。
如果您还没有查看文档,您可以看看:
可伸缩性是一个复杂的答案。可以考虑让您的应用程序支持多服务器(水平可扩展性),但这实际上取决于您的 information/context/session 是 available/updated...
您当然可以考虑使用一些 Redis 来实现数据持久化。
关于数据库的使用,主要取决于你的数据是怎样的,如果你需要使用SQL语言建立关系,或者你的应用程序是否可以为你做(说清楚,你想让数据库为你在你的 SQL 命令中加入部分,或者你想使用应用程序来做这件事?)。它还取决于数据量(100 万,10 亿,?)和连接量。
所以一切都是你的选择...
然后你可以带着你遇到的一些问题回来。