SlideShare a Scribd company logo
2
Introduction: MESSAGE QUEUE (MQ)
 Message queuing allow applications to communicate by sending messages to each other. The
message queue provide a temporary message storage when the destination program is busy or not
connected.
 Message Queuing provides guaranteed message delivery, efficient routing, security, and priority-
based messaging.
“Message Queue provides an asynchronous communications protocol, a system that puts
a message onto a message queue does not require an immediate response to continue
processing”.
 Email is probably the best example of asynchronous messaging. When an email is sent can the sender
continue processing other things without an immediate response from the receiver. This way of
handling messages decouple the producer from the consumer. The producer and the consumer of the
message do not need to interact with the message queue at the same time.
 A Queue is a line of things waiting to be handled - in sequential order starting at the beginning of the
line. A message queue is a queue of messages sent between applications.
 A Message is the data transported between sender and receiver application, it's essentially a byte
array with some headers on top.
Most read
4
KEY CAPABILITIES
 Guaranteed message delivery
 Message prioritization
 Message backup and restore
 Sending messages to multiple destinations
 Cross-platform integration
 Message routing
 Dynamic queue creation
 Compatible with various transport protocols
 High-performance computing and high availability
 Asynchronous Communication
Most read
6
Web Services vs. Message Queue (MQ)
Conditions Web Service Message Queue
If Server Fails: Client must take responsibility to handle the
error
Message Queue persist the message
(optionally, even if the machine shutdown)
If Server is working again: Client is responsible of resending it It receives the pending message
If Server gives a response to
the call & the client fails
Operation is lost If Client didn't acknowledge the response,
the message is persisted
Contention You don't have contention, i.e: if million of
clients call a web service on one server in a
second, most probably your server will go
down.
You have contention, you can decide how
many requests are handled by the server
Expect an immediate
response from the server
You can expect an immediate response from
the server, but you can handle asynchronous
calls too.
You don't expect an immediate synchronous
response, but you can implement/simulate
synchronous calls.
Most read
Message Queue (MQ) Testing
UJJWAL GUPTA
Introduction: MESSAGE QUEUE (MQ)
 Message queuing allow applications to communicate by sending messages to each other. The
message queue provide a temporary message storage when the destination program is busy or not
connected.
 Message Queuing provides guaranteed message delivery, efficient routing, security, and priority-
based messaging.
“Message Queue provides an asynchronous communications protocol, a system that puts
a message onto a message queue does not require an immediate response to continue
processing”.
 Email is probably the best example of asynchronous messaging. When an email is sent can the sender
continue processing other things without an immediate response from the receiver. This way of
handling messages decouple the producer from the consumer. The producer and the consumer of the
message do not need to interact with the message queue at the same time.
 A Queue is a line of things waiting to be handled - in sequential order starting at the beginning of the
line. A message queue is a queue of messages sent between applications.
 A Message is the data transported between sender and receiver application, it's essentially a byte
array with some headers on top.
MQ Architecture
The Basic architecture of Message Queue is simple, there are client applications
called producers that create messages and deliver them to the message queue. An
other application, called consumer, connect to the queue and get the messages to
be processed. Messages placed onto the queue are stored until the consumer
retrieves them.
KEY CAPABILITIES
 Guaranteed message delivery
 Message prioritization
 Message backup and restore
 Sending messages to multiple destinations
 Cross-platform integration
 Message routing
 Dynamic queue creation
 Compatible with various transport protocols
 High-performance computing and high availability
 Asynchronous Communication
MQ - Simple Use Case / Purpose
 Let’s imagine that we’ve a web service that receives many requests every
second (i.e., Google), where no request is afford to get lost and all requests
needs to be processed by a process that is time consuming.
 Let’s suppose that our web service always has to be highly available and
ready to receive new request instead of being locked by the processing of
previous received requests. In this case it is ideal to put a queue between the
web service and the processing service.
 The web service can put the "start processing"-message on a queue and the
other process can take and handle messages in order. The two processes will
be decoupled from each other and does not need to wait for each other. If you
have a lot of requests coming in a short amount of time, the processing
system will be able to process them all anyway. The queue will persist
requests if their number becomes really huge.
Web Services vs. Message Queue (MQ)
Conditions Web Service Message Queue
If Server Fails: Client must take responsibility to handle the
error
Message Queue persist the message
(optionally, even if the machine shutdown)
If Server is working again: Client is responsible of resending it It receives the pending message
If Server gives a response to
the call & the client fails
Operation is lost If Client didn't acknowledge the response,
the message is persisted
Contention You don't have contention, i.e: if million of
clients call a web service on one server in a
second, most probably your server will go
down.
You have contention, you can decide how
many requests are handled by the server
Expect an immediate
response from the server
You can expect an immediate response from
the server, but you can handle asynchronous
calls too.
You don't expect an immediate synchronous
response, but you can implement/simulate
synchronous calls.
ActiveMQ Portal
Message Queue (MQ) Testing

More Related Content

What's hot (20)

Amazon Web Services (AWS) Case study
Amazon Web Services (AWS) Case studyAmazon Web Services (AWS) Case study
Amazon Web Services (AWS) Case study
المهندسة عائشة بني صخر
 
Core Java Slides
Core Java SlidesCore Java Slides
Core Java Slides
Vinit Vyas
 
The Kotlin Programming Language
The Kotlin Programming LanguageThe Kotlin Programming Language
The Kotlin Programming Language
intelliyole
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Govardhan Gottigalla
 
Kotlin Language powerpoint show file
Kotlin Language powerpoint show fileKotlin Language powerpoint show file
Kotlin Language powerpoint show file
Saurabh Tripathi
 
Windows Mobile
Windows MobileWindows Mobile
Windows Mobile
Mahmood Ahmed
 
Introduction to kotlin
Introduction to kotlinIntroduction to kotlin
Introduction to kotlin
NAVER Engineering
 
Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)
HungWei Chiu
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
Siji Sunny
 
acceptance testing
acceptance testingacceptance testing
acceptance testing
Saleem Almaqashi
 
The Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring CloudThe Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring Cloud
VMware Tanzu
 
Types of testing
Types of testingTypes of testing
Types of testing
Sonam Agarwal
 
Cryptol 수업자료
Cryptol 수업자료Cryptol 수업자료
Cryptol 수업자료
arundine
 
Cloud native integration
Cloud native integrationCloud native integration
Cloud native integration
Kim Clark
 
Static testing techniques
Static testing techniquesStatic testing techniques
Static testing techniques
Mazenetsolution
 
Training Week: Introduction to Neo4j Aura Free
Training Week: Introduction to Neo4j Aura FreeTraining Week: Introduction to Neo4j Aura Free
Training Week: Introduction to Neo4j Aura Free
Neo4j
 
Software-Development-Cycle-SDLC and its phases.pptx
Software-Development-Cycle-SDLC and its phases.pptxSoftware-Development-Cycle-SDLC and its phases.pptx
Software-Development-Cycle-SDLC and its phases.pptx
mprakaash5
 
API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test Pyramid
Elias Nogueira
 
Test scenarios for sending & receiving emails
Test scenarios for sending & receiving emailsTest scenarios for sending & receiving emails
Test scenarios for sending & receiving emails
Morpheous Algan
 
Swift Introduction
Swift IntroductionSwift Introduction
Swift Introduction
Savvycom Savvycom
 
Core Java Slides
Core Java SlidesCore Java Slides
Core Java Slides
Vinit Vyas
 
The Kotlin Programming Language
The Kotlin Programming LanguageThe Kotlin Programming Language
The Kotlin Programming Language
intelliyole
 
Kotlin Language powerpoint show file
Kotlin Language powerpoint show fileKotlin Language powerpoint show file
Kotlin Language powerpoint show file
Saurabh Tripathi
 
Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)
HungWei Chiu
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
Siji Sunny
 
The Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring CloudThe Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring Cloud
VMware Tanzu
 
Cryptol 수업자료
Cryptol 수업자료Cryptol 수업자료
Cryptol 수업자료
arundine
 
Cloud native integration
Cloud native integrationCloud native integration
Cloud native integration
Kim Clark
 
Static testing techniques
Static testing techniquesStatic testing techniques
Static testing techniques
Mazenetsolution
 
Training Week: Introduction to Neo4j Aura Free
Training Week: Introduction to Neo4j Aura FreeTraining Week: Introduction to Neo4j Aura Free
Training Week: Introduction to Neo4j Aura Free
Neo4j
 
Software-Development-Cycle-SDLC and its phases.pptx
Software-Development-Cycle-SDLC and its phases.pptxSoftware-Development-Cycle-SDLC and its phases.pptx
Software-Development-Cycle-SDLC and its phases.pptx
mprakaash5
 
API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test Pyramid
Elias Nogueira
 
Test scenarios for sending & receiving emails
Test scenarios for sending & receiving emailsTest scenarios for sending & receiving emails
Test scenarios for sending & receiving emails
Morpheous Algan
 

Similar to Message Queue (MQ) Testing (20)

Synchronous and asynchronous software communication components
Synchronous and asynchronous software communication componentsSynchronous and asynchronous software communication components
Synchronous and asynchronous software communication components
Panagiotis Tsilopoulos
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
Ram Babu
 
Art Of Message Queues
Art Of Message QueuesArt Of Message Queues
Art Of Message Queues
Mike Willbanks
 
Mq Lecture
Mq LectureMq Lecture
Mq Lecture
barnettj10974
 
The Art of Message Queues - TEKX
The Art of Message Queues - TEKXThe Art of Message Queues - TEKX
The Art of Message Queues - TEKX
Mike Willbanks
 
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging CapabilitiesIBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
Peter Broadhurst
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
Ravi Yogesh
 
Message Queues a basic overview
Message Queues a basic overviewMessage Queues a basic overview
Message Queues a basic overview
Geshan Manandhar
 
Message Oriented Middleware
Message Oriented MiddlewareMessage Oriented Middleware
Message Oriented Middleware
Manuswath K.B
 
Message queues
Message queuesMessage queues
Message queues
Max Bodnar
 
The Art of Message Queues
The Art of Message QueuesThe Art of Message Queues
The Art of Message Queues
Mike Willbanks
 
IBM MQ Series For ZOS
IBM MQ Series For ZOSIBM MQ Series For ZOS
IBM MQ Series For ZOS
Srinimf-Slides
 
Real usages of jms message queues
Real usages of jms message queuesReal usages of jms message queues
Real usages of jms message queues
Akila Mahesha Keerawella
 
Life in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoLife in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with django
Tareque Hossain
 
Do More With Message Queue
Do More With Message QueueDo More With Message Queue
Do More With Message Queue
Hean Hong Leong
 
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
Peter Broadhurst
 
On MQ Series & JMS
On MQ Series & JMSOn MQ Series & JMS
On MQ Series & JMS
Ashokkumar T A
 
[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える
Ohyama Hiroyasu
 
Message queue architecture
Message queue architectureMessage queue architecture
Message queue architecture
Majdee Zoabi
 
Rabbitmq an amqp message broker
Rabbitmq an amqp message brokerRabbitmq an amqp message broker
Rabbitmq an amqp message broker
ANASYS
 
Synchronous and asynchronous software communication components
Synchronous and asynchronous software communication componentsSynchronous and asynchronous software communication components
Synchronous and asynchronous software communication components
Panagiotis Tsilopoulos
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
Ram Babu
 
The Art of Message Queues - TEKX
The Art of Message Queues - TEKXThe Art of Message Queues - TEKX
The Art of Message Queues - TEKX
Mike Willbanks
 
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging CapabilitiesIBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
Peter Broadhurst
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
Ravi Yogesh
 
Message Queues a basic overview
Message Queues a basic overviewMessage Queues a basic overview
Message Queues a basic overview
Geshan Manandhar
 
Message Oriented Middleware
Message Oriented MiddlewareMessage Oriented Middleware
Message Oriented Middleware
Manuswath K.B
 
Message queues
Message queuesMessage queues
Message queues
Max Bodnar
 
The Art of Message Queues
The Art of Message QueuesThe Art of Message Queues
The Art of Message Queues
Mike Willbanks
 
Life in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoLife in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with django
Tareque Hossain
 
Do More With Message Queue
Do More With Message QueueDo More With Message Queue
Do More With Message Queue
Hean Hong Leong
 
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
Peter Broadhurst
 
[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える
Ohyama Hiroyasu
 
Message queue architecture
Message queue architectureMessage queue architecture
Message queue architecture
Majdee Zoabi
 
Rabbitmq an amqp message broker
Rabbitmq an amqp message brokerRabbitmq an amqp message broker
Rabbitmq an amqp message broker
ANASYS
 
Ad

Recently uploaded (20)

Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
Compliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf textCompliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf text
Earthling security
 
Extend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptxExtend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptx
hoang971
 
Co-Constructing Explanations for AI Systems using Provenance
Co-Constructing Explanations for AI Systems using ProvenanceCo-Constructing Explanations for AI Systems using Provenance
Co-Constructing Explanations for AI Systems using Provenance
Paul Groth
 
Domino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use CasesDomino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use Cases
panagenda
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
Create Your First AI Agent with UiPath Agent Builder
Create Your First AI Agent with UiPath Agent BuilderCreate Your First AI Agent with UiPath Agent Builder
Create Your First AI Agent with UiPath Agent Builder
DianaGray10
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
The case for on-premises AI
The case for on-premises AIThe case for on-premises AI
The case for on-premises AI
Principled Technologies
 
Jeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software DeveloperJeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software Developer
Jeremy Millul
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
soulmaite review - Find Real AI soulmate review
soulmaite review - Find Real AI soulmate reviewsoulmaite review - Find Real AI soulmate review
soulmaite review - Find Real AI soulmate review
Soulmaite
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
Compliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf textCompliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf text
Earthling security
 
Extend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptxExtend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptx
hoang971
 
Co-Constructing Explanations for AI Systems using Provenance
Co-Constructing Explanations for AI Systems using ProvenanceCo-Constructing Explanations for AI Systems using Provenance
Co-Constructing Explanations for AI Systems using Provenance
Paul Groth
 
Domino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use CasesDomino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use Cases
panagenda
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
Create Your First AI Agent with UiPath Agent Builder
Create Your First AI Agent with UiPath Agent BuilderCreate Your First AI Agent with UiPath Agent Builder
Create Your First AI Agent with UiPath Agent Builder
DianaGray10
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Jeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software DeveloperJeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software Developer
Jeremy Millul
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
soulmaite review - Find Real AI soulmate review
soulmaite review - Find Real AI soulmate reviewsoulmaite review - Find Real AI soulmate review
soulmaite review - Find Real AI soulmate review
Soulmaite
 
Ad

Message Queue (MQ) Testing

  • 1. Message Queue (MQ) Testing UJJWAL GUPTA
  • 2. Introduction: MESSAGE QUEUE (MQ)  Message queuing allow applications to communicate by sending messages to each other. The message queue provide a temporary message storage when the destination program is busy or not connected.  Message Queuing provides guaranteed message delivery, efficient routing, security, and priority- based messaging. “Message Queue provides an asynchronous communications protocol, a system that puts a message onto a message queue does not require an immediate response to continue processing”.  Email is probably the best example of asynchronous messaging. When an email is sent can the sender continue processing other things without an immediate response from the receiver. This way of handling messages decouple the producer from the consumer. The producer and the consumer of the message do not need to interact with the message queue at the same time.  A Queue is a line of things waiting to be handled - in sequential order starting at the beginning of the line. A message queue is a queue of messages sent between applications.  A Message is the data transported between sender and receiver application, it's essentially a byte array with some headers on top.
  • 3. MQ Architecture The Basic architecture of Message Queue is simple, there are client applications called producers that create messages and deliver them to the message queue. An other application, called consumer, connect to the queue and get the messages to be processed. Messages placed onto the queue are stored until the consumer retrieves them.
  • 4. KEY CAPABILITIES  Guaranteed message delivery  Message prioritization  Message backup and restore  Sending messages to multiple destinations  Cross-platform integration  Message routing  Dynamic queue creation  Compatible with various transport protocols  High-performance computing and high availability  Asynchronous Communication
  • 5. MQ - Simple Use Case / Purpose  Let’s imagine that we’ve a web service that receives many requests every second (i.e., Google), where no request is afford to get lost and all requests needs to be processed by a process that is time consuming.  Let’s suppose that our web service always has to be highly available and ready to receive new request instead of being locked by the processing of previous received requests. In this case it is ideal to put a queue between the web service and the processing service.  The web service can put the "start processing"-message on a queue and the other process can take and handle messages in order. The two processes will be decoupled from each other and does not need to wait for each other. If you have a lot of requests coming in a short amount of time, the processing system will be able to process them all anyway. The queue will persist requests if their number becomes really huge.
  • 6. Web Services vs. Message Queue (MQ) Conditions Web Service Message Queue If Server Fails: Client must take responsibility to handle the error Message Queue persist the message (optionally, even if the machine shutdown) If Server is working again: Client is responsible of resending it It receives the pending message If Server gives a response to the call & the client fails Operation is lost If Client didn't acknowledge the response, the message is persisted Contention You don't have contention, i.e: if million of clients call a web service on one server in a second, most probably your server will go down. You have contention, you can decide how many requests are handled by the server Expect an immediate response from the server You can expect an immediate response from the server, but you can handle asynchronous calls too. You don't expect an immediate synchronous response, but you can implement/simulate synchronous calls.