分布式应用架构

发布于 2024-10-15 15:32:10 字数 188 浏览 2 评论 0原文

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

We are building an application that will have clients installed in many sites. Each client work on its own, has its own database and workflows. However, each client has to submit some data to the main application installed at a central position. The application at a central location must receive updates (e.g stock levels) from the distributed units. All applications are done in Java. Which is the best way/technology of sending the updates from the distributed units to the central application? JMS, jdbc, ...?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

音盲 2024-10-22 15:32:10

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

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

  • 使用诸如 Apache Axis
  • 使用 ESB - 类似于 Mule< /a> 或 JBoss
  • 在服务器上使用简单的 Web Servlet,然后提交使用 HTTP POST 的数据。您可以使用简单的嵌入式 Java Web 服务器(例如 Jetty)来执行此操作。
  • 使用消息传递协议,例如 Kryonet 或 Google 的 协议缓冲区
  • 使用更通用的网络应用程序框架,例如Netty

所有这些都可以工作,所以这实际上取决于确定哪一个最适合您的架构。我怀疑最简单的是 Kryonet,最全面的可能是完整的 JBoss ESB/应用程序服务器堆栈。

I'm going to assume that the servers at client sites have network access, and that you are able to configure the central server so that other clients can connect to it. This could either be over the internet or an internal WAN.

In this case, it's simply a case of finding a mechanism to submit some correctly formatted data, which is received and handled by the central server. This gives you a large number of options, I'm going to list just a few:

  • Create a web service with something like Apache Axis
  • Use an ESB - something like Mule or JBoss
  • Use a simple web Servlet on the server, and submit data using HTTP POST. You could use a simple embeddable Java web server like Jetty to do this.
  • Use a messaging protocol like Kryonet or Google's protocol buffers
  • Use a more general network application framework such as Netty

All of these will work, so it really depends on working out which is the best fit for your architecture. I suspect the simplest would be something like Kryonet, the most comprehensive would probably be something like a full JBoss ESB/application server stack.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文