views:

237

answers:

3

For message based passing systems, what are your "message design patterns" e.g.

  • Limit directed messages (i.e. specific destination)

  • Avoid long cascade chains (i.e. react to MsgA with MsgB, MsgC etc.)

  • Have a system "heartbeat" message

Other examples?

+3  A: 

All the important ones are in the book Enterprise Integration Patterns. Check it out.

RichardOD
@RichardOD: thanks for the link. Can you list some here?
jldupont
+1  A: 
  • Favour idempotent Message processing: a duplicate message is tolerated without causing "double debits".

  • Avoid large messages - prefer the "baggage-check" idiom

  • Avoid message ordering requirements - greatly simplifies burden on infrastructure

djna
Is you first line correct? I'm not sure I understand the second part correctly?
KLE
Favour indempotent Message processing: a duplicate message is tolerated WITHOUT causing "double debits". See http://www.eaipatterns.com/IdempotentReceiver.html
JuanZe
thanks for correction
djna
+1  A: 

If you are implementing a message based system, I suggest reading the canonical resource to get insight on messaging architectures: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe y Bobby Woolf.

A short summary of each pattern is available online at http://www.eaipatterns.com/toc.html At the end of the page two case studies are available.

The book is a great resource, you will find there problems and situations you don't even imagine before, with a good analysis of the strategy to solve it.

JuanZe