SlideShare a Scribd company logo
1 of 8
MULE ESB Flow processing strategiesMULE ESB Flow processing strategies
1
About Mule applicationsAbout Mule applications
 Java based apps that must be deployed to a Mule runtime
– Either on-premise or on CloudHub
 Packaged as zip file, referred to as deployable archive
– Universal format, for both on-premise and cloud
deployments
 Consist of one or more flows, stored in one or more XML
files
 Can be developed, built and packaged using Anypoint
Studio or a third party build solution (Maven, Gradle)
 Built around the standard software pattern of Input-
Processing-Output
2
Recap: Flow typesRecap: Flow types
Mule has three types of flows
 Regular flows
– Inbound endpoint, or more MPs, can have its own exception
strategy and processing strategy
– Can be synchronous or asynchronous
 Sub flows
– No inbound endpoint, inherits processing strategy from
parent, no exception strategy (exceptions bubble up into the
parent flow)
 Private flow
– Similar to regular flow, but no inbound endpoint
– Can only be called from within application via flow reference
3
Flow processing strategiesFlow processing strategies
 A flow’s processing strategy determines how Mule
implements message processing for a given flow
 Mule automatically determines best processing strategy
– Implicitly set to either synchronous or
queued-asynchronous (leveraging SEDA)
 A flow is synchronous when
– The flow’s exchange pattern is request-
response
– The flow partakes in a transaction
– The flow is really a sub-flow
 A flow is asynchronous in all other cases
– Unless overridden by manually setting a
processing strategy
4
Synchronous processing strategySynchronous processing strategy
 Uses only the message source's pool
 Tuning for higher throughput happens on the
connector receiver's level
 In clustered environments: Flow executes on the
same node (pinned) until processing in the flow is
complete
5
Inbound
endpoint
Message
processor
Message
processor
Receiving thread
Receiving
thread
Asynchronous processing strategyAsynchronous processing strategy
 Decouples and uses all 3 thread pools
 Uses queues, which threads drop a messages off for
the subsequent pool's thread to pickup
 Thread pools, queues and behaviors of this strategy
are configurable
 A flow with an queued-asynchronous processing
strategy can execute on any node in a cluster
6
Inbound
endpoint
Message
processor
Message
processor
Receiving thread
Receiving
Outbound
endpoint
Processing Dispatching
Synchronous vs asynchronousSynchronous vs asynchronous
Synchronous
– Same thread is used across the flow
– If outbound endpoint is one way (JMS), then the thread will be used to
continue
the message processing
– If outbound endpoint is request-response, then the thread will wait for the
response from the endpoint and continue the message processing after
receiving the response
Asynchronous
– Receiver thread receives the message and places it in Staged Event-Driven
Architecture (SEDA) Queue
– Receiver thread will be released for receiving message after placing in queue
– Message will be placed in a dispatcher queue for sending out
7
Receiving thread
THANKS
8

More Related Content

What's hot

Using scatter gather
Using scatter gatherUsing scatter gather
Using scatter gatherRahul Kumar
 
Mule Script Transformer
Mule Script TransformerMule Script Transformer
Mule Script TransformerAnkush Sharma
 
Scatter gather component - mule
Scatter gather component - muleScatter gather component - mule
Scatter gather component - muleSindhu VL
 
Mule debugging logging_configuration_in_mule
Mule debugging logging_configuration_in_muleMule debugging logging_configuration_in_mule
Mule debugging logging_configuration_in_mulekunal vishe
 
Operating system 20 threads
Operating system 20 threadsOperating system 20 threads
Operating system 20 threadsVaibhav Khanna
 
Scatter gather flow in mule
Scatter gather flow in muleScatter gather flow in mule
Scatter gather flow in mulePraneethchampion
 
A short introduction on anypoint studio routers
A short introduction on anypoint studio routersA short introduction on anypoint studio routers
A short introduction on anypoint studio routersSwapnil Sahu
 
Splitter flow control reference
Splitter flow control referenceSplitter flow control reference
Splitter flow control referenceKrishna_in
 
Mule Schema Validation Filter
Mule Schema Validation FilterMule Schema Validation Filter
Mule Schema Validation FilterAnkush Sharma
 
Mule error handling_rollback exception strategy
Mule error handling_rollback exception strategyMule error handling_rollback exception strategy
Mule error handling_rollback exception strategykunal vishe
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchangesSon Nguyen
 
Introduction 1
Introduction 1Introduction 1
Introduction 1Yasir Khan
 
Mule Expression Transformer
Mule Expression TransformerMule Expression Transformer
Mule Expression TransformerAnkush Sharma
 
Scatter gatherinmule
Scatter gatherinmuleScatter gatherinmule
Scatter gatherinmuleF K
 

What's hot (20)

Using scatter gather
Using scatter gatherUsing scatter gather
Using scatter gather
 
Mule Script Transformer
Mule Script TransformerMule Script Transformer
Mule Script Transformer
 
Scatter gather component - mule
Scatter gather component - muleScatter gather component - mule
Scatter gather component - mule
 
Mule debugging logging_configuration_in_mule
Mule debugging logging_configuration_in_muleMule debugging logging_configuration_in_mule
Mule debugging logging_configuration_in_mule
 
Operating system 20 threads
Operating system 20 threadsOperating system 20 threads
Operating system 20 threads
 
Scatter gather flow in mule
Scatter gather flow in muleScatter gather flow in mule
Scatter gather flow in mule
 
A short introduction on anypoint studio routers
A short introduction on anypoint studio routersA short introduction on anypoint studio routers
A short introduction on anypoint studio routers
 
Splitter flow control reference
Splitter flow control referenceSplitter flow control reference
Splitter flow control reference
 
Mule Schema Validation Filter
Mule Schema Validation FilterMule Schema Validation Filter
Mule Schema Validation Filter
 
Mule error handling_rollback exception strategy
Mule error handling_rollback exception strategyMule error handling_rollback exception strategy
Mule error handling_rollback exception strategy
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchanges
 
Introduction 1
Introduction 1Introduction 1
Introduction 1
 
Mule Cache Scope
Mule Cache ScopeMule Cache Scope
Mule Cache Scope
 
Mule SFTP connector
Mule SFTP connectorMule SFTP connector
Mule SFTP connector
 
Mule Expression Transformer
Mule Expression TransformerMule Expression Transformer
Mule Expression Transformer
 
Mule JMS transport
Mule JMS transportMule JMS transport
Mule JMS transport
 
JMS Backchannel
JMS BackchannelJMS Backchannel
JMS Backchannel
 
Mule ftp connector
Mule ftp connectorMule ftp connector
Mule ftp connector
 
Mule file connector
Mule file connectorMule file connector
Mule file connector
 
Scatter gatherinmule
Scatter gatherinmuleScatter gatherinmule
Scatter gatherinmule
 

Similar to Mule esb flow processing strategies

Controlling Message Flow - Mule ESB
Controlling Message Flow - Mule ESBControlling Message Flow - Mule ESB
Controlling Message Flow - Mule ESBMani Rathnam Gudi
 
Synchronous verses asynchronous processing strategy in mule esb
Synchronous verses asynchronous processing strategy in mule esbSynchronous verses asynchronous processing strategy in mule esb
Synchronous verses asynchronous processing strategy in mule esbVishnuAnji
 
Advanced processor Principles
Advanced processor PrinciplesAdvanced processor Principles
Advanced processor PrinciplesVinit Raut
 
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEMC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEAravind NC
 
Mule scopes&error handling
Mule scopes&error handlingMule scopes&error handling
Mule scopes&error handlingSumit Gole
 
Vm component
Vm componentVm component
Vm componentF K
 
Vm component in mule
Vm component in muleVm component in mule
Vm component in mulejaveed_mhd
 
How to use vm component
How to use vm componentHow to use vm component
How to use vm componentmaheshtheapex
 
Multiprocessor Scheduling
Multiprocessor SchedulingMultiprocessor Scheduling
Multiprocessor SchedulingKhadija Saleem
 
Process & Thread Management
Process & Thread  ManagementProcess & Thread  Management
Process & Thread ManagementVpmv
 
Operating System Notes (1).pdf
Operating System Notes (1).pdfOperating System Notes (1).pdf
Operating System Notes (1).pdfshriyashpatil7
 
Operating System Notes help for interview pripration
Operating System Notes  help for interview priprationOperating System Notes  help for interview pripration
Operating System Notes help for interview priprationajaybiradar99999
 
Operating System Notes.pdf
Operating System Notes.pdfOperating System Notes.pdf
Operating System Notes.pdfAminaArshad42
 
Vm component in mule demo
Vm component in mule demoVm component in mule demo
Vm component in mule demoSudha Ch
 

Similar to Mule esb flow processing strategies (20)

Controlling Message Flow - Mule ESB
Controlling Message Flow - Mule ESBControlling Message Flow - Mule ESB
Controlling Message Flow - Mule ESB
 
Controlling message flow
Controlling message flowControlling message flow
Controlling message flow
 
Synchronous verses asynchronous processing strategy in mule esb
Synchronous verses asynchronous processing strategy in mule esbSynchronous verses asynchronous processing strategy in mule esb
Synchronous verses asynchronous processing strategy in mule esb
 
Mule esb overview
Mule esb overviewMule esb overview
Mule esb overview
 
Advanced processor Principles
Advanced processor PrinciplesAdvanced processor Principles
Advanced processor Principles
 
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEMC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
 
Mule scopes&error handling
Mule scopes&error handlingMule scopes&error handling
Mule scopes&error handling
 
Ch03 processes
Ch03 processesCh03 processes
Ch03 processes
 
Vm Component
Vm ComponentVm Component
Vm Component
 
Vm component
Vm componentVm component
Vm component
 
Vm component
Vm componentVm component
Vm component
 
Vm component in mule
Vm component in muleVm component in mule
Vm component in mule
 
How to use vm component
How to use vm componentHow to use vm component
How to use vm component
 
Scopes in mule
Scopes in muleScopes in mule
Scopes in mule
 
Multiprocessor Scheduling
Multiprocessor SchedulingMultiprocessor Scheduling
Multiprocessor Scheduling
 
Process & Thread Management
Process & Thread  ManagementProcess & Thread  Management
Process & Thread Management
 
Operating System Notes (1).pdf
Operating System Notes (1).pdfOperating System Notes (1).pdf
Operating System Notes (1).pdf
 
Operating System Notes help for interview pripration
Operating System Notes  help for interview priprationOperating System Notes  help for interview pripration
Operating System Notes help for interview pripration
 
Operating System Notes.pdf
Operating System Notes.pdfOperating System Notes.pdf
Operating System Notes.pdf
 
Vm component in mule demo
Vm component in mule demoVm component in mule demo
Vm component in mule demo
 

More from himajareddys

Exception handling basics in mule
Exception handling basics in muleException handling basics in mule
Exception handling basics in mulehimajareddys
 
Mule integration patterns
Mule    integration patternsMule    integration patterns
Mule integration patternshimajareddys
 
Design considerations in MULE ESB
Design considerations in MULE ESBDesign considerations in MULE ESB
Design considerations in MULE ESBhimajareddys
 
Mule architecture styles
Mule architecture stylesMule architecture styles
Mule architecture styleshimajareddys
 
Integration patterns in muleesb
Integration patterns in muleesbIntegration patterns in muleesb
Integration patterns in muleesbhimajareddys
 
Security components in mule esb
Security components in mule esbSecurity components in mule esb
Security components in mule esbhimajareddys
 
Anypoint platform highlights
Anypoint platform highlightsAnypoint platform highlights
Anypoint platform highlightshimajareddys
 
Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400himajareddys
 
Mule addcontactsintosalesforce
Mule addcontactsintosalesforceMule addcontactsintosalesforce
Mule addcontactsintosalesforcehimajareddys
 
Mule anypointconnector dev kit
Mule anypointconnector dev kitMule anypointconnector dev kit
Mule anypointconnector dev kithimajareddys
 
Dataweavewithflowreflookup
DataweavewithflowreflookupDataweavewithflowreflookup
Dataweavewithflowreflookuphimajareddys
 
Mule anypointenterprisesecurity
Mule anypointenterprisesecurityMule anypointenterprisesecurity
Mule anypointenterprisesecurityhimajareddys
 
Connector for ibm® as400
Connector for ibm® as400Connector for ibm® as400
Connector for ibm® as400himajareddys
 
Netsuite open air connector
Netsuite open air connectorNetsuite open air connector
Netsuite open air connectorhimajareddys
 
Enterprise resources and mule
Enterprise resources and muleEnterprise resources and mule
Enterprise resources and mulehimajareddys
 

More from himajareddys (20)

Domain in mule
Domain in muleDomain in mule
Domain in mule
 
Exception handling basics in mule
Exception handling basics in muleException handling basics in mule
Exception handling basics in mule
 
Mule integration patterns
Mule    integration patternsMule    integration patterns
Mule integration patterns
 
Design considerations in MULE ESB
Design considerations in MULE ESBDesign considerations in MULE ESB
Design considerations in MULE ESB
 
Mule architecture styles
Mule architecture stylesMule architecture styles
Mule architecture styles
 
Integration patterns in muleesb
Integration patterns in muleesbIntegration patterns in muleesb
Integration patterns in muleesb
 
Security components in mule esb
Security components in mule esbSecurity components in mule esb
Security components in mule esb
 
Cloudhub
CloudhubCloudhub
Cloudhub
 
Anypoint platform highlights
Anypoint platform highlightsAnypoint platform highlights
Anypoint platform highlights
 
Mule 3.4 features
Mule 3.4 featuresMule 3.4 features
Mule 3.4 features
 
Mule esb 3.8
Mule esb 3.8Mule esb 3.8
Mule esb 3.8
 
Mule soa
Mule soaMule soa
Mule soa
 
Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400
 
Mule addcontactsintosalesforce
Mule addcontactsintosalesforceMule addcontactsintosalesforce
Mule addcontactsintosalesforce
 
Mule anypointconnector dev kit
Mule anypointconnector dev kitMule anypointconnector dev kit
Mule anypointconnector dev kit
 
Dataweavewithflowreflookup
DataweavewithflowreflookupDataweavewithflowreflookup
Dataweavewithflowreflookup
 
Mule anypointenterprisesecurity
Mule anypointenterprisesecurityMule anypointenterprisesecurity
Mule anypointenterprisesecurity
 
Connector for ibm® as400
Connector for ibm® as400Connector for ibm® as400
Connector for ibm® as400
 
Netsuite open air connector
Netsuite open air connectorNetsuite open air connector
Netsuite open air connector
 
Enterprise resources and mule
Enterprise resources and muleEnterprise resources and mule
Enterprise resources and mule
 

Recently uploaded

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Mule esb flow processing strategies

  • 1. MULE ESB Flow processing strategiesMULE ESB Flow processing strategies 1
  • 2. About Mule applicationsAbout Mule applications  Java based apps that must be deployed to a Mule runtime – Either on-premise or on CloudHub  Packaged as zip file, referred to as deployable archive – Universal format, for both on-premise and cloud deployments  Consist of one or more flows, stored in one or more XML files  Can be developed, built and packaged using Anypoint Studio or a third party build solution (Maven, Gradle)  Built around the standard software pattern of Input- Processing-Output 2
  • 3. Recap: Flow typesRecap: Flow types Mule has three types of flows  Regular flows – Inbound endpoint, or more MPs, can have its own exception strategy and processing strategy – Can be synchronous or asynchronous  Sub flows – No inbound endpoint, inherits processing strategy from parent, no exception strategy (exceptions bubble up into the parent flow)  Private flow – Similar to regular flow, but no inbound endpoint – Can only be called from within application via flow reference 3
  • 4. Flow processing strategiesFlow processing strategies  A flow’s processing strategy determines how Mule implements message processing for a given flow  Mule automatically determines best processing strategy – Implicitly set to either synchronous or queued-asynchronous (leveraging SEDA)  A flow is synchronous when – The flow’s exchange pattern is request- response – The flow partakes in a transaction – The flow is really a sub-flow  A flow is asynchronous in all other cases – Unless overridden by manually setting a processing strategy 4
  • 5. Synchronous processing strategySynchronous processing strategy  Uses only the message source's pool  Tuning for higher throughput happens on the connector receiver's level  In clustered environments: Flow executes on the same node (pinned) until processing in the flow is complete 5 Inbound endpoint Message processor Message processor Receiving thread Receiving thread
  • 6. Asynchronous processing strategyAsynchronous processing strategy  Decouples and uses all 3 thread pools  Uses queues, which threads drop a messages off for the subsequent pool's thread to pickup  Thread pools, queues and behaviors of this strategy are configurable  A flow with an queued-asynchronous processing strategy can execute on any node in a cluster 6 Inbound endpoint Message processor Message processor Receiving thread Receiving Outbound endpoint Processing Dispatching
  • 7. Synchronous vs asynchronousSynchronous vs asynchronous Synchronous – Same thread is used across the flow – If outbound endpoint is one way (JMS), then the thread will be used to continue the message processing – If outbound endpoint is request-response, then the thread will wait for the response from the endpoint and continue the message processing after receiving the response Asynchronous – Receiver thread receives the message and places it in Staged Event-Driven Architecture (SEDA) Queue – Receiver thread will be released for receiving message after placing in queue – Message will be placed in a dispatcher queue for sending out 7 Receiving thread