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

Architecture 如何为分布式系统部署中间件?,architecture,distributed-computing,middleware,distributed-system,Architecture,Distributed Computing,Middleware,Distributed System,我学习了分布式系统,但仍然不了解如何部署中间件来安装分布式系统 我练习过套接字,但对中间件和分布式系统开发与管理一无所知 我对如何部署中间件感到困惑——它必须安装在代理机器上,还是必须安装在每台机器上(作为分布式系统的一部分)?客户端机器如何使用中间件,中间件中是否有客户端部分?企业级系统中的许多中间件集成都基于面向服务架构(SOA)的概念 在SOA中,您负责将不同的系统连接到一个功能完整的单元中。Web服务作为集成不同系统的一种方式。许多Web应用程序使用REST,但仍然有许多企业通过SOAP

我学习了分布式系统,但仍然不了解如何部署中间件来安装分布式系统

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


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

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

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

简单示例:假设您正在为一家银行构建一个web管理系统。涉及到许多操作:您需要处理创建客户、财务交易和管理客户。您不必从头开始创建每个设计。您可以利用一些操作,比如假设创建客户,c#中已经提供了功能,并且您希望在java代码中使用相同的逻辑。而不是您需要使用Web服务。 这只是为了解释分布式模式如何在SOA中工作

此外,还有许多服务器端配置,如JMS(Java消息传递服务),MQ在集成中起着关键作用

我建议你阅读这些,这可以为你提供一些图片,超过你需要的澄清

编辑:

想想system-1,它有一个类似于客户端的Web浏览器

system-2您可以看到它连接到不同的子单元。System 2是通过连接的子单元重用功能而构建的整个应用程序

http请求/响应您能够在客户端和服务器之间来回发送信息

通过Web服务,您可以以独立于平台的方式连接到任何子系统,通过利用这些子系统中已有的功能来构建所需的任何内容


在流中进行路由/消息转换时用于数据存储的MQ

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

(1) 。您将使用类似于ibmwebsphereintegrationdesigner的IDE(来自IBM&构建在eclipse之上)

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

(3) 。您将使用Web服务(如SOAP)并点击另一台服务器的系统通过其暴露的端口,然后返回结果

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


我的回答并不是直接谈论分布式系统,而是分享我在中间件集成领域的工作经验,这是分布式计算的重要组成部分。

感谢您的解释。如果我正确理解了这个示例-中间件是MQ,c#/java代码是应用程序?我理解SOA的概念,但我需要了解一些关于中间件部署的示例。为了实现SOA体系结构,是否应该在每台机器上安装它?您可以举一个中间件的例子吗?您可以在服务器上部署中间件解决方案。市场上有很多供应商,如IBM提供的IBM Websphere Application Server(WAS)、Oracles Service Bus等。好吧,假设我有WAS和两台独立的服务器(A和B),每台都运行一个用不同编程语言编写的不同应用程序,我需要统一对应用程序的访问-应该独立安装在单独的机器上(C)与a和B外部连接?@Kais我添加了一个新的答案,因为我的评论太长了。