分布式系统如何部署中间件?

How a middleware is deployed for a distributed system?

我研究了分布式系统,但我仍然不了解如何部署中间件以安装分布式系统。

我练习过套接字,但对中间件和分布式系统开发和管理一无所知。

我对如何部署中间件感到困惑——它必须安装在代理机器上,还是必须安装在每台机器上(作为分布式系统的一部分)?客户端机器如何使用中间件,中间件有客户端部分吗?

企业级系统中的许多中间件集成都是基于面向服务的架构 (SOA) 的概念。

在 SOA 中,您负责将不同的系统连接成一个功能完整的单元。 Web 服务作为一种集成不同系统的方式。许多 Web 应用程序使用 REST,但仍有许多企业通过 SOAP 公开服务(由于更好的安全标准)。

简单示例:假设您正在为一家银行构建一个网络管理系统。涉及许多操作:您需要处理创建客户、金融交易、管理客户。您不必从头开始创建每个设计。您可以利用一些 operations.Like 假设创建客户,c# 中已有的功能,并且您希望在 java 代码中使用相同的逻辑让我们说。比您需要使用 Web 服务。 这只是为了向您解释分布式模式在 SOA 中的工作原理。

此外,还会有很多服务器端配置,如JMS(Java消息服务)、MQ,这些在集成中起着至关重要的作用。

我建议您阅读这些内容,这可以为您提供一些关于您需要的说明的图片。

已编辑:

想想 system-1 有一个像 Web 浏览器这样的客户端

system-2你可以看到它连接到各种子单元。系统 2 是您通过连接的子单元重用功能构建的整个应用程序。

http request/response 您可以在客户端和服务器之间来回发送信息。

通过 Web 服务,您能够以独立于平台的方式连接到任何子系统,以利用它们的现有功能构建您需要的任何内容。

MQ 用于数据存储,而 routing/message 在流中进行转换。

我可以从开发人员的角度来说明这一点。 如果您正在从事中间件集成项目:

(1)。您将使用 IDE 之类的 IBM Websphere Integration Designer(来自 IBM,构建于 Eclipse 之上)。

(2)。在此您将开发您的流程,并假设您的流程必须连接到一个系统,比如 A 和系统 B,并且您正在向它们发送一些请求并期望一些结果返回到您的流程。

(3)。您将使用 Web 服务(如 SOAP)并访问另一台服务器的系统暴露的端口,您将取回结果。

(4)。您将在 IDE 中拥有这个内置的 WAS 服务器,您将在其中部署集成模块。这样,一切都通过端口、url 连接,您可以设置分布式环境。

我的回答并没有直接谈论分布式系统,我主要是分享我在中间件集成领域工作的经验,其中大部分是分布式计算。