Skip to content

Message-oriented middleware

这是非常常见的一种架构。

wikipedia Message-oriented middleware

Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous(异质的) platforms and reduces the complexity of developing applications that span(跨越) multiple operating systems and network protocols. The middleware creates a distributed communications layer that insulates(隔离) the application developer from the details of the various operating systems and network interfaces. APIs that extend across diverse platforms and networks are typically provided by MOM.[1]

This middleware layer allows software components (applications, Enterprise JavaBeans, servlets, and other components) that have been developed independently and that run on different networked platforms to interact with one another. Applications distributed on different network nodes use the application interface to communicate. In addition, by providing an administrative interface, this new, virtual system of interconnected applications can be made reliable and secure.[2]

MOM provides software elements that reside in all communicating components of a client/server architecture and typically support asynchronous calls between the client and server applications. MOM reduces the involvement(参与) of application developers with the complexity of the master-slave nature of the client/server mechanism.

Middleware categories

1、Remote Procedure Call or RPC-based middleware

2、Object Request Broker or ORB-based middleware

3、Message Oriented Middleware or MOM-based middleware

Case

Python celery

今天看了Wikipedia上关于celery的介绍,其中提及celery属于Message-oriented middleware

Apache Thrift

Oracle Tuxedo

Oracle Tuxedo

wikipedia Tuxedo (software)

POCO-PRO C++ FRAMEWORKS

HS CRES

实现共性

一、application protocol

二、concurrency model

三、code generator

四、路由、event dispatch、event handler

event dispatch最常见的是使用hash map来存储PK和handler之间的映射关系