消息传递通道细节
对于消息通道
1 消息通道的主题:
1.1 固定的通道集。
1.2 确定通道集。
1.3 单向通道。
2 消息通道的决策:
1.1 一对一还是一对多。
1.2 确定数据类型。
1.3 非法和无用消息。
1.4 崩溃回复。
1.5 非消息传递客户。
1.6 通信中枢。
p2p通道:
p2p的消息通道能确保对于任何确定的消息只有一个消费者可以进行使用,通道的接受者可以是多个,也可以是一个,但是通道只能保证其中的一个可以成功使用。
p/s 通道:
应用使用消息传递来通知事件,可以使用观察者模式进行设计.
可以参考JMS 与MSMQ
JMS 规范中本身就支持以上两种的设计 MSMQ 有点特殊 在MSMQ3.0 之后才有了支持。
数据类型:
数据类型的目的就是方便与接收者可以对于发送者发送的消息进行接收处理,可以实现的方式是使用格式标志位 (放到消息的首部),也可以把消息封装到命令消息中,并且对应的数据类型有自己的处理命令。
对于消息通道如果在使用的时候,需要发送给多种通道,但是已知的消息发布者只把所有消息发送给一个消息通道,那么可以使用基于内容的路由器,将消息解复用,其中每种通道只有一种数据类型。
格式指示符可以用于区分相同数据的不同格式。
非法消息通道:
对于数据格式不正确,以及接受者无法处理(格式无法识别)的消息就是非法的消息,对于非法的消息可以使用一下的方式:
1,忽略,并重新放回通道但是消息又会继续进行发送。
2,系统进行检测。使用非法消息通道进行处理。
死文字通道 :
这是处理可以是正确的消息,但是由于错误的配置或者消息的到期 ,以及消息通道的删除等造成的,将接受者无法接收到的,但是可以发送的消息转移到死文字通道。