RELIABLE MESSAGING
PATTERN MULE
ESB
- YESHWANTH
NADAKUDITI
RELIABILITY PATTERN OVERVIEW
• Even in the world of cloud computing and systems which has
zero tolerance on downtime, network and environmental
capability does pose a threat in providing zero message loss
for the clients.
• For a business critical application that needs high availability
and zero message lost, it is important that every messages that
was received by the system is either processed or properly
stacked in to re-processing queues
PROBLEM STATEMENT
SOLUTION USING VM PERSISTED QUEUES
• Messages that to be delivered can be stored in VM queue
before delivering to the transactional context or business flow.
• VM Queue will ensure that message will only be deleted if the
message is committed to the next system.
• This ensure that trivial network issues will not cause the
message to be lost in the sequential flow.
SOLUTION OVERVIEW
• The message will remain in the queue till the message is
accepted and committed by the following system.
• VM Queue can be persisted in mule cloudhub using the Persist
Queues check box during the cloud deployment.
VM CONFIGURATION IN ANYPOINT STUDIO
• Global Connector Configuration
<vm:connector name="PersistsMessage" validateConnections="true" doc:name="VM">
<vm:queue-profile>
<default-persistent-queue-store/>
</vm:queue-profile>
</vm:connector>​
• Sends Message to a Queue and Persists.
<vm:outbound-endpoint exchange-pattern="one-way" path="/dispatch" connector-
ref="PersistsMessage" doc:name="PersistReq"/>
• Dispatches Persisted Messages.
<vm:inbound-endpoint exchange-pattern="one-way" path="/dispatch" connector-
ref="PersistsMessage" doc:name="DisptachPersistedReqs"/>​
THANK YOU

Reliable messaging pattern

  • 1.
  • 2.
    RELIABILITY PATTERN OVERVIEW •Even in the world of cloud computing and systems which has zero tolerance on downtime, network and environmental capability does pose a threat in providing zero message loss for the clients. • For a business critical application that needs high availability and zero message lost, it is important that every messages that was received by the system is either processed or properly stacked in to re-processing queues
  • 3.
  • 4.
    SOLUTION USING VMPERSISTED QUEUES • Messages that to be delivered can be stored in VM queue before delivering to the transactional context or business flow. • VM Queue will ensure that message will only be deleted if the message is committed to the next system. • This ensure that trivial network issues will not cause the message to be lost in the sequential flow.
  • 5.
  • 6.
    • The messagewill remain in the queue till the message is accepted and committed by the following system. • VM Queue can be persisted in mule cloudhub using the Persist Queues check box during the cloud deployment.
  • 7.
    VM CONFIGURATION INANYPOINT STUDIO • Global Connector Configuration <vm:connector name="PersistsMessage" validateConnections="true" doc:name="VM"> <vm:queue-profile> <default-persistent-queue-store/> </vm:queue-profile> </vm:connector>​ • Sends Message to a Queue and Persists. <vm:outbound-endpoint exchange-pattern="one-way" path="/dispatch" connector- ref="PersistsMessage" doc:name="PersistReq"/> • Dispatches Persisted Messages. <vm:inbound-endpoint exchange-pattern="one-way" path="/dispatch" connector- ref="PersistsMessage" doc:name="DisptachPersistedReqs"/>​
  • 8.