构建具有大量数据通信的系统的最佳方法是什么?

时间:2012-11-22 14:58:51

标签: java web-services corba apache-mina high-traffic

您好

我有一个缓存服务器(用Java + Lucene Framework编写),它可以保存大量数据并根据请求查询提供。

它基本上是这样的:

  1. 在启动时,它连接数据库并将所有表存储到RAM。
  2. 它侦听请求并提供正确的数据作为数组列表(大约1000 - 20000行)
  3. 当用户访问该网页时,它会连接到缓存服务器,请求并显示服务器响应。
  4. 由于内存问题,我计划在不同的实例中运行Web和缓存应用程序。缓存服务器作为服务,Web位于Tomcat上。

    关于如何在Web端和缓存服务器之间建立通信,您有什么建议?

    我需要将数组列表中的大量数据从一个实例传递到另一个实例。我应该考虑Web服务(xml通信),nio套接字通信(可能是Apache MINA)还是像CORBA这样的解决方案?

    感谢。

1 个答案:

答案 0 :(得分:1)

这在很大程度上取决于您未指定的注意事项。

  1. 客户是什么?例如,如果您的客户端是运行AJAX的javascript,显然HTTP上的某些东西比专有的UDP解决方案更有用。
  2. 它在做什么网络?本地网络的行为与互联网不同,移动互联网与两者完全不同。
  3. 你可以如何精心使用缓存?如果您使用HTTP,您可以对客户端缓存和网络缓存进行相当好的控制(通过HTTP标头),以及可以使用这两者的大量现有软件。
  4. 还有许多其他注意事项需要考虑,并且有许多现有的系统实现与更常见的需求相匹配。根据您提供的(非详细的)说明,我建议您查看Redis