Java Http Server如何可扩展,或者如何使其可扩展?

时间:2013-08-27 10:14:11

标签: java scalability netty high-availability

你好,我是一名刚刚学习使用Netty和MySQL的学生。

我正在为我的Android和iOS应用程序构建服务器。我使用Netty 4.0.6示例HttpUploadServer构建了我的服务器。

服务器的主要任务是发送/接收和保存图像和音频文件(总共约1mb)。每天将发送大约10,000个请求。

我的一位顾问说开发服务器时应该考虑两件事。

  • 向上扩展
  • 高可用性

然而,(因为我只是学习服务器编程)我不知道如何做到这一点。我能想到的唯一能提高可扩展性和可用性的东西就像亚马逊的Elastic Load Balancer。

我知道这是一个非常广泛的问题,但请给我一个进展。 如何使用Java(Espcially Netty)提高可伸缩性和可用性?

1 个答案:

答案 0 :(得分:1)

通过许多技术可以实现扩大规模

  • 拥有多个实例:又名Elastic Load Balancers
  • 分片:服务器1处理对用户的请求A-M服务器2处理对用户的请求N-Z
  • 添加缓存:您是否多次为同一个请求提供服务?在问题上留下一些记忆,继续提供相同的答案
  • 简化您的工作量!

您需要回答的一个非常重要的问题是限制您服务N + 1客户端的能力。你的套接字,内存,CPU时间,数据库事务都用完了吗?

就像任何分析问题一样,找出你的主要问题并解决它。