SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Test automation process
Test automation processTest automation process
Test automation process
 
Ten reasons to choose Apache Pulsar over Apache Kafka for Event Sourcing_Robe...
Ten reasons to choose Apache Pulsar over Apache Kafka for Event Sourcing_Robe...Ten reasons to choose Apache Pulsar over Apache Kafka for Event Sourcing_Robe...
Ten reasons to choose Apache Pulsar over Apache Kafka for Event Sourcing_Robe...
 
Azure architecture design patterns - proven solutions to common challenges
Azure architecture design patterns - proven solutions to common challengesAzure architecture design patterns - proven solutions to common challenges
Azure architecture design patterns - proven solutions to common challenges
 
Regression Test Automation Framework
Regression Test Automation Framework Regression Test Automation Framework
Regression Test Automation Framework
 
Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?
 
AWS API Gateway
AWS API GatewayAWS API Gateway
AWS API Gateway
 
Azure Service Bus
Azure Service BusAzure Service Bus
Azure Service Bus
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
 
Dynatrace: New Approach to Digital Performance Management - Gartner Symposium...
Dynatrace: New Approach to Digital Performance Management - Gartner Symposium...Dynatrace: New Approach to Digital Performance Management - Gartner Symposium...
Dynatrace: New Approach to Digital Performance Management - Gartner Symposium...
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Belajar Postman test runner
Belajar Postman test runnerBelajar Postman test runner
Belajar Postman test runner
 
Nagios
NagiosNagios
Nagios
 
Sapo Microservices Architecture
Sapo Microservices ArchitectureSapo Microservices Architecture
Sapo Microservices Architecture
 
Amazon CloudFront 101
Amazon CloudFront 101Amazon CloudFront 101
Amazon CloudFront 101
 
Microservices Testing Strategies JUnit Cucumber Mockito Pact
Microservices Testing Strategies JUnit Cucumber Mockito PactMicroservices Testing Strategies JUnit Cucumber Mockito Pact
Microservices Testing Strategies JUnit Cucumber Mockito Pact
 
Intro to signalR
Intro to signalRIntro to signalR
Intro to signalR
 
Real world selenium resume which gets more job interviews
Real world selenium resume which gets more job interviewsReal world selenium resume which gets more job interviews
Real world selenium resume which gets more job interviews
 

Similar a 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 a 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
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

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.