|
|
# Purpose of the scripts/scenarios
|
|
|
|
|
|
Validate _multiple_ *publishers* (aka. producers) and _multiple_ *consumers* working on the same [queue](https://en.wikipedia.org/wiki/Message_queue), exchange messages via some [AMQP](https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol) [message broker](https://en.wikipedia.org/wiki/Message_broker) without any message [corruption](https://en.wikipedia.org/wiki/Data_corruption). Messages consumed should only be consumed *once*; In other words, no consumer should receive a message that has already been seen by another consumer.
|
|
|
Validate _multiple_ *publishers* (aka. producers) and _multiple_ *consumers* working on the same [queue](https://en.wikipedia.org/wiki/Message_queue), exchange messages via some [AMQP](https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol) [message broker](https://en.wikipedia.org/wiki/Message_broker) without any message [corruption](https://en.wikipedia.org/wiki/Data_corruption). Messages should only be consumed *once* by a *specific* *allowed* consumer.
|
|
|
|
|
|
## Birds eye view [mermaid](https://mermaidjs.github.io/) diagram
|
|
|
|
... | ... | @@ -92,6 +92,10 @@ Since the process sends non-[ASCII](https://en.wikipedia.org/wiki/ASCII) charact |
|
|
Questions:
|
|
|
* What happens if the queue is not available?
|
|
|
* What are the concepts/available options in regards to business continuity and (high) availability?
|
|
|
* Start up stress test: Broker was down, but during start up, producer continuously tries to send messages.
|
|
|
|
|
|
Testing:
|
|
|
* The producers shall try to send the messages continuously, until the message has been accepted by the broker.
|
|
|
|
|
|
### Script
|
|
|
|
... | ... | @@ -105,7 +109,9 @@ Questions: |
|
|
|
|
|
### Testing
|
|
|
|
|
|
Simplistic approach: Just run a producer, but no consumers.
|
|
|
Simple approach: Just run _one_ producer, but _no_ consumers.
|
|
|
Complex approach: Run _one_ producer and _some_ (but not *all*) consumers.
|
|
|
More complex approach: Run _multiple_ producers and _some_ (but not *all*) consumers.
|
|
|
|
|
|
## Questions
|
|
|
|
... | ... | @@ -123,7 +129,7 @@ Simplistic approach: Just run a producer, but no consumers. |
|
|
|
|
|
* Show how consumer can acknowledge or not acknowledge message delivery/processing.
|
|
|
* Is the message queue able to show which consumer has fetched a message and if it has been acknowledged by this specific consumer?
|
|
|
* Show different status messages can have.
|
|
|
* Different states shall be available to show the specific state each consumer/producer has; Eg. Sends information, receives information, last connection interrupt, etc.
|
|
|
|
|
|
#### Script
|
|
|
|
... | ... | |