IPC中基于消息的通信(进程间通信)
先决条件 – 云计算、云计算中的负载平衡、进程间通信
在模型和技术的开发中,消息抽象是实现分布式计算的必要方面。分布式系统被定义为一个系统,其中组件驻留在网络通信中,并且仅通过消息的移动来同步其功能。在这种情况下,消息识别从一个实体移动到另一个实体的任何离散数据。它包括具有大小和时间限制的任何类型的数据表示,而它调用远程过程或对象实例序列或公共消息。这就是“基于消息的通信模型”可以有利于引用各种基于数据流抽象的进程间通信模型的原因。
尽管向开发人员展示了用于对共享组件的协调进行编程的抽象,但各种分布式编程模型都使用这种类型的通信。下面是一些使用“基于消息的通信模型”的主要分布式编程模型。
- 消息传递——
在该模型中,引入了消息作为模型主要抽象的概念。以消息的形式交换显式编码的数据和信息的单元。根据当时的模型,消息的模式和内容会发生变化或变化。消息传递接口和 OpenMP 是此类模型的主要示例。 - 远程过程调用 –
该模型超越了单个进程的限制,探索了过程调用的关键,从而指向了程序在远程进程中的执行。在这种情况下,主要客户端 - 服务器是隐含的。远程进程维护一个服务器组件,从而使客户端进程能够调用方法并返回执行的输出。由远程过程调用 (RPC) 实现创建的消息检索过程本身的信息,该过程将在具有必要参数的情况下执行并返回值。使用与此相关的消息称为参数和返回值的编组。 - 分布式对象——
它是面向对象模型的远程过程调用 (RPC) 模型的实现,并将其上下文化以用于对象扩展的方法的远程调用。每个进程分配一组可远程访问的接口。客户端进程可以要求引用这些接口并调用通过它们可用的方法。基本的运行时基础设施是将本地方法调用转换为对远程进程的请求并收集执行结果。调用者和远程进程之间的交互是通过消息完成的。该模型在设计上是无状态的,分布式对象模型引入了对象状态管理和生命周期的复杂性。通用对象请求代理体系结构 (CORBA)、组件对象模型(COM、DCOM 和 COM+)、 Java远程方法调用 (RMI) 和 .NET 远程处理是属于分布式对象基础结构的一些主要示例。 - 活动对象 –
根据定义,基于活动对象的编程模型包括实例的存在,无论它们是否是对象的代理,不管请求是否可用。这意味着,对象具有特定的控制线程,这使它们能够传达其活动。这些模型有时会手动使用消息来遇到函数的执行,并且将更复杂和更复杂的语义附加到消息上。 - 网页服务 -
Web 服务技术通过 HTTP 提供了一种 RPC 概念的方法,从而实现了由众多技术演变而来的组件的通信。 Web 服务显示为维护在 Web 服务器上的远程对象,方法调用在特定协议的帮助下转换为 HTTP 请求。需要注意的是,消息的概念是进程间通信的基本抽象,它被隐式或显式地使用。