MEP(Message Exchange Patterns)简介
在分布式系统间交换数据有各种不同的方法。处理这些差异性的一个基本措施是,
对交换数据块的方法进行分类,这些数据块被称为"消息"。这样一来,根据对交换消息的
不同方法进行分类,我们得到了所谓的"消息交换模式"。MEP定义了在服务调用或服务操作中
的消息序列,指明了这些消息的次序、方向和基数。
注意:MEP是描述不同系统(节点)间通信的一般性概念。
----------------------------------------------------------------------------------------------------------------------------
请求/应答
对SOA来说,最重要的模式也许就是请求/应答(有时也叫做请求/答复)。
在这种模式中,消费者向供应者发出一个请求消息,等待供应者发出应答消息。
应答消息可能包含了被请求的数据和对成功地处理的请求的确认。
从消费者的角度来看,这样的服务调用就像远程过程调用(RPC)。
这就是说,直到应答到达之前,消费者都被阻塞。你可以把这想象成一次
电话通话,你问了问题后,要停下来等待回答,然后再继续。
单程
如果你不需要应答,从消费者的角度来看,要做的事情甚至更简单:
发送消息,然后就完事了。这种单程模式通常被称为"发射后不管"。
-----------------------------------------------------------------------------------------------------------------------------
更复杂的MEP
1、请求/回调
2、发布/订阅
---------------------------------------------
事件驱动的架构
"事件驱动的架构"(EDA)是一种软件架构模式,它鼓励对事件的生产、发现、消费和响应。
在一定程度上,单程消息和发布/订阅消息可以被认为是"事件"。
这些事件是典型地对状态发生重要变化的通知,这样一来,对这些变化感兴趣的各方就能相应做出反应。
当前,对于EDA是不是一种特殊形式的SOA,是不是一种SOA的增强,还是别的什么,
人们进行着大量的讨论。例如,有的分析师和公司引入了诸如"先进的SOA"或"SOA2.0"这样的术语,
指的就是EDA和SOA的结合。