SlideShare a Scribd company logo
1 of 8
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

Azure architecture
Azure architectureAzure architecture
Azure architecture
Amal Dev
 

What's hot (20)

Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 
Infrastructure as a Service ( IaaS)
Infrastructure as a Service ( IaaS)Infrastructure as a Service ( IaaS)
Infrastructure as a Service ( IaaS)
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Azure architecture
Azure architectureAzure architecture
Azure architecture
 
Amazon EC2 to Amazon VPC: A case study (CPN301) | AWS re:Invent 2013
Amazon EC2 to Amazon VPC: A case study (CPN301) | AWS re:Invent 2013Amazon EC2 to Amazon VPC: A case study (CPN301) | AWS re:Invent 2013
Amazon EC2 to Amazon VPC: A case study (CPN301) | AWS re:Invent 2013
 
Virtualization and cloud computing
Virtualization and cloud computingVirtualization and cloud computing
Virtualization and cloud computing
 
Websphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsWebsphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentals
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Understand AWS Pricing
Understand AWS PricingUnderstand AWS Pricing
Understand AWS Pricing
 
Cloud testing
Cloud testingCloud testing
Cloud testing
 
A Guide to AWS Penetration Testing.pptx
A Guide to AWS Penetration Testing.pptxA Guide to AWS Penetration Testing.pptx
A Guide to AWS Penetration Testing.pptx
 
Cloud infrastructure and Cloud Services
Cloud infrastructure and Cloud ServicesCloud infrastructure and Cloud Services
Cloud infrastructure and Cloud Services
 
A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 A pattern language for microservices - June 2021
A pattern language for microservices - June 2021
 
CLOUD NATIVE SECURITY
CLOUD NATIVE SECURITYCLOUD NATIVE SECURITY
CLOUD NATIVE SECURITY
 
Event Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspectiveEvent Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspective
 
Cloud computing and Cloud security fundamentals
Cloud computing and Cloud security fundamentalsCloud computing and Cloud security fundamentals
Cloud computing and Cloud security fundamentals
 
Applications Performance Monitoring with Applications Manager part 1
Applications Performance Monitoring with Applications Manager part 1Applications Performance Monitoring with Applications Manager part 1
Applications Performance Monitoring with Applications Manager part 1
 
In Depth: AWS IAM and VPC
In Depth: AWS IAM and VPCIn Depth: AWS IAM and VPC
In Depth: AWS IAM and VPC
 

Similar to Message Queue (MQ) Testing

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
Omi Om
 
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
 
High powered messaging with RabbitMQ
High powered messaging with RabbitMQHigh powered messaging with RabbitMQ
High powered messaging with RabbitMQ
James Carr
 
1. Overview of Distributed Systems
1. Overview of Distributed Systems1. Overview of Distributed Systems
1. Overview of Distributed Systems
Daminda Herath
 
IBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ Clusters
IBM Systems UKI
 
RedisConf18 - Scalable Microservices with Event Sourcing and Redis
RedisConf18 - Scalable  Microservices  with  Event  Sourcing  and  Redis RedisConf18 - Scalable  Microservices  with  Event  Sourcing  and  Redis
RedisConf18 - Scalable Microservices with Event Sourcing and Redis
Redis Labs
 
Arun prjct dox
Arun prjct doxArun prjct dox
Arun prjct dox
Baig Mirza
 

Similar to Message Queue (MQ) Testing (20)

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
 
IBM MQ Series For ZOS
IBM MQ Series For ZOSIBM MQ Series For ZOS
IBM MQ Series For ZOS
 
ActiveMQ interview Questions and Answers
ActiveMQ interview Questions and AnswersActiveMQ interview Questions and Answers
ActiveMQ interview Questions and Answers
 
Message Oriented Middleware
Message Oriented MiddlewareMessage Oriented Middleware
Message Oriented Middleware
 
Synchronous and asynchronous software communication components
Synchronous and asynchronous software communication componentsSynchronous and asynchronous software communication components
Synchronous and asynchronous software communication components
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
 
The Art of Message Queues - TEKX
The Art of Message Queues - TEKXThe Art of Message Queues - TEKX
The Art of Message Queues - TEKX
 
Tef con2016 (1)
Tef con2016 (1)Tef con2016 (1)
Tef con2016 (1)
 
Real usages of jms message queues
Real usages of jms message queuesReal usages of jms message queues
Real usages of jms message queues
 
High powered messaging with RabbitMQ
High powered messaging with RabbitMQHigh powered messaging with RabbitMQ
High powered messaging with RabbitMQ
 
Sqs and loose coupling
Sqs and loose couplingSqs and loose coupling
Sqs and loose coupling
 
RabbitMQ interview Questions and Answers
RabbitMQ interview Questions and AnswersRabbitMQ interview Questions and Answers
RabbitMQ interview Questions and Answers
 
1. Overview of Distributed Systems
1. Overview of Distributed Systems1. Overview of Distributed Systems
1. Overview of Distributed Systems
 
IBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ Clusters
 
Mq Lecture
Mq LectureMq Lecture
Mq Lecture
 
RedisConf18 - Scalable Microservices with Event Sourcing and Redis
RedisConf18 - Scalable  Microservices  with  Event  Sourcing  and  Redis RedisConf18 - Scalable  Microservices  with  Event  Sourcing  and  Redis
RedisConf18 - Scalable Microservices with Event Sourcing and Redis
 
Art Of Message Queues
Art Of Message QueuesArt Of Message Queues
Art Of Message Queues
 
Arun prjct dox
Arun prjct doxArun prjct dox
Arun prjct dox
 
Wcf faq
Wcf faqWcf faq
Wcf faq
 
Mule requestor component
Mule requestor componentMule requestor component
Mule requestor component
 

Recently uploaded

Recently uploaded (20)

Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 

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.