分布式应用架构

时间:2011-02-02 11:15:53

标签: distributed

我们正在构建一个将客户端安装在许多站点中的应用程序。每个客户端都独立工作,拥有自己的数据库和工作流程。但是,每个客户端都必须向安装在中心位置的主应用程序提交一些数据。位于中心位置的应用程序必须从分布式单元接收更新(例如库存级别)。所有应用程序都是用Java完成的。哪种是从分布式单元向中央应用程序发送更新的最佳方式/技术? JMS,jdbc,......?

1 个答案:

答案 0 :(得分:2)

我将假设客户端站点上的服务器具有网络访问权限,并且您可以配置中央服务器以便其他客户端可以连接到它。这可以通过互联网或内部广域网。

在这种情况下,它只是找到一种机制来提交一些正确格式化的数据,由中央服务器接收和处理。这为您提供了大量选项,我将仅列出几个:

  • 使用Apache Axis
  • 之类的内容创建网络服务
  • 使用 ESB - 类似MuleJBoss
  • 在服务器上使用简单的Web Servlet ,并使用HTTP POST提交数据。您可以使用简单的可嵌入Java Web服务器(如Jetty)来执行此操作。
  • 使用消息传递协议,例如Kryonet或Google的protocol buffers
  • 使用更常规的网络应用程序框架,例如Netty

所有这些都可行,所以它实际上取决于哪种方法最适合您的架构。我怀疑最简单的就像Kryonet,最全面的可能就像一个完整的JBoss ESB /应用服务器堆栈。