首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为java选择网络框架的建议

为java选择网络框架的建议
EN

Stack Overflow用户
提问于 2013-03-19 19:23:08
回答 1查看 142关注 0票数 1

短版本:对于用户/请求数量少、数据量相对较大的客户机/服务器应用程序,需要选择java网络框架的建议(优缺点)。

可能的备选方案:

  1. RMI
  2. 阿帕奇河
  3. Netty (这看起来更面向异步,它能进行同步调用吗?)
  4. 其他一些能让我的生活更轻松的框架?:)

Long version:,我现在从事的项目是一个用java编写的桌面应用程序,它允许用户优化供应链的一部分。注意,到目前为止,应用程序仅是桌面应用程序。它在本地机器上安装了一个数据库,仅此而已。现在,我们有了更改代码以支持共享/网络数据库的新要求。在网络服务器上安装数据库并启动应用程序的几个实例显示(如预期的)存在许多问题。最大的问题来自这样一个事实,即数据库交互的开发并没有考虑到并发性。我们有很多锁在等着,还有几个死锁在发生。决定对数据访问层进行修改,以满足新的要求。

似乎不可能编写DAL来允许并发访问,而不分离客户机和服务器中的应用程序,后者将处理数据访问,并可能处理某些业务逻辑。我们不需要一个非常高性能的解决方案,没有那么多消息,但问题在于数据量。

典型的使用场景如下所示:

  1. 启动应用程序
  2. 从CSV文件(通常在600 it 1gb之间)导入数据,并将其存储以供将来使用。
  3. 添加场景配置(非常少的数据)并存储它们
  4. 启动优化(获取步骤1中的数据,应用配置,应用一些优化/限制)
  5. 显示优化结果。

步骤4将在服务器上执行,步骤1-3和步骤5将在客户机上执行。

你们有什么建议吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-03-20 21:12:13

所以真正的问题是如何上传大量的数据。对于这样的解决方案,我不会去RMI -这是太限制了。阿帕奇河似乎是某种发明。Netty是一个低级的网络框架。你会被迫写你自己的协议。

我只需要使用简单的HTTP服务器并使用HTTP请求上传数据。您可以使用Gzip压缩。HTTP很好地处理大文件。

在服务器端,任何servlet容器都可能做到(Tomcat、Jetty等)。

在客户端,Apache组件应该足够了。您也可以尝试宁异步HTTP客户端

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15508607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档