From 92f1c9e688006a11bcf956b73765b7ad4a8b7a20 Mon Sep 17 00:00:00 2001 From: Hanna Nelson Date: Thu, 21 Nov 2024 13:01:50 -0800 Subject: [PATCH 1/5] W-17292458 MQ FIFO Exchanges Beta --- modules/ROOT/pages/index.adoc | 2 +- modules/ROOT/pages/mq-configure.adoc | 2 +- modules/ROOT/pages/mq-exchanges.adoc | 2 +- modules/ROOT/pages/mq-glossary.adoc | 8 +++++++- modules/ROOT/pages/mq-queues.adoc | 4 ++-- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/modules/ROOT/pages/index.adoc b/modules/ROOT/pages/index.adoc index 0247159c..016c3b1d 100644 --- a/modules/ROOT/pages/index.adoc +++ b/modules/ROOT/pages/index.adoc @@ -43,7 +43,7 @@ Anypoint MQ includes these features: Queues and Message Exchanges:: Send messages to queues and pull messages from queues. -Use a message exchange to send messages to multiple standard queues simultaneously or +Use a message exchange to send messages to multiple standard or FIFO queues simultaneously or route messages to specific queues by using intelligent message routing rules. + For information, see: diff --git a/modules/ROOT/pages/mq-configure.adoc b/modules/ROOT/pages/mq-configure.adoc index 417cb91c..5e96810d 100644 --- a/modules/ROOT/pages/mq-configure.adoc +++ b/modules/ROOT/pages/mq-configure.adoc @@ -12,7 +12,7 @@ Create queues, FIFO queues, and dead-letter queues in Anypoint Platform. Send, receive, and purge messages from queues. * xref:mq-exchanges.adoc[] + -Send messages to multiple standard xref:mq-queues.adoc[queues] simultaneously by binding those queues to +Send messages to multiple standard or FIFO xref:mq-queues.adoc[queues] simultaneously by binding those queues to a message exchange. + Route messages to specific queues that are bound to the message exchange diff --git a/modules/ROOT/pages/mq-exchanges.adoc b/modules/ROOT/pages/mq-exchanges.adoc index 256d7758..4055b376 100644 --- a/modules/ROOT/pages/mq-exchanges.adoc +++ b/modules/ROOT/pages/mq-exchanges.adoc @@ -1,6 +1,6 @@ = Sending Messages to Multiple Queues Using Message Exchanges -You can send messages to multiple standard +You can send messages to multiple standard or FIFO xref:mq-queues.adoc[queues] simultaneously by binding those queues to a _message exchange_. diff --git a/modules/ROOT/pages/mq-glossary.adoc b/modules/ROOT/pages/mq-glossary.adoc index 4ff3d7b9..e2520309 100644 --- a/modules/ROOT/pages/mq-glossary.adoc +++ b/modules/ROOT/pages/mq-glossary.adoc @@ -12,7 +12,7 @@ Operations that specify the following: For information, see xref:anypoint-mq-connector::anypoint-mq-ack.adoc[ACK and NACK Operations]. Binding:: + -A method for specifying a set of standard queues that form a message exchange, enabling apps to send messages to multiple queues. +A method for specifying a set of standard or FIFO queues that form a message exchange, enabling apps to send messages to multiple queues. + When you specify which message queues are bound to a message exchange, Anypoint MQ creates and manages the bindings for you. + @@ -95,6 +95,11 @@ include::partial$mq-failover.adoc[tag=fallbackQnotConfig] + For information, see xref:mq-failover.adoc[]. +[[fifo-exchange]] +FIFO Exchange:: +A <> that binds multiple <>, +enabling you to send messages to multiple FIFO queues. + [[fifo-queues]] FIFO Queue:: A queue that processes messages first-in, first-out (FIFO), ensuring message ordering for applications in which the order of messages must be strictly preserved and enforced. @@ -124,6 +129,7 @@ An identifier that allows only a single app to read a queue. Anypoint MQ provides the lock when an app acknowledges a message from a queue. Message:: Serializable xref:mule-runtime::about-mule-message.adoc[Mule Message] content that applications send and receive so that they can communicate with each other. +[[message-exchange]] Message Exchange:: A pub/sub message source with multiple outputs. Applications register to subscribe to messages that the message exchange publishes. + diff --git a/modules/ROOT/pages/mq-queues.adoc b/modules/ROOT/pages/mq-queues.adoc index 3c35be40..cdf3c698 100644 --- a/modules/ROOT/pages/mq-queues.adoc +++ b/modules/ROOT/pages/mq-queues.adoc @@ -40,7 +40,7 @@ image::mq-filters.png["Destinations page showing filter options for message queu Before using Anypoint MQ, you must create an environment and give users Anypoint MQ access permissions. See xref:mq-access-management.adoc[]. - +[[create-queue]] == Create a Queue To create a standard queue or FIFO queue: @@ -340,7 +340,7 @@ include::partial$mq-faq.adoc[tag=failedTPS] * In some configurations when using the IMMEDIATE acknowledgment mode in the Subscriber operation, FIFO queues don't process messages in order. * Before using `prefetch` mode with FIFO queues, see xref:anypoint-mq-connector::anypoint-mq-listener.adoc#fifo-and-prefetch[FIFO Queues and Prefetch Mode]. -To create a FIFO queue, see <>. To determine if a queue is FIFO or standard (non-FIFO), view its details. +To create a FIFO queue, see <>. To determine if a queue is FIFO or standard (non-FIFO), view its details. For the regions in which Anypoint MQ and FIFO queues are available, see the xref:mq-faq#regions[Anypoint MQ FAQ]. From 70ea8cd0627b0d777f8ebcc1fe2a05d8d6110967 Mon Sep 17 00:00:00 2001 From: Hanna Nelson Date: Thu, 21 Nov 2024 13:21:42 -0800 Subject: [PATCH 2/5] create FIFO exchange --- modules/ROOT/pages/mq-apis.adoc | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/mq-apis.adoc b/modules/ROOT/pages/mq-apis.adoc index acf95edf..0133a514 100644 --- a/modules/ROOT/pages/mq-apis.adoc +++ b/modules/ROOT/pages/mq-apis.adoc @@ -266,6 +266,7 @@ the API throttles your requests to 50 transactions per minute (TPM). These examples use the Anypoint MQ Admin API to create queues and message routing rules from the command line using `curl`: * <> +* <> * <> * <> * <> @@ -273,7 +274,7 @@ These examples use the Anypoint MQ Admin API to create queues and message routin [[fifo-queue-api]] === Create a FIFO Queue -You can create a FIFO queue using the Anypoint MQ Admin API by including the `"fifo": true` field. +You can create a FIFO queue using the Anypoint MQ Admin API by including `"fifo": true` in the body. [NOTE] The organization from which you use the Administration portal must have an Anypoint MQ FIFO entitlement. @@ -312,6 +313,35 @@ The response includes output such as: }, ---- +[[fifo-exchange-api]] +=== Create a FIFO Exchange + +You can create a FIFO exchange using the Anypoint MQ Admin API by including `"fifo": true` in the body. + +[NOTE] +The organization from which you use the Administration portal must have an Anypoint MQ FIFO entitlement. +See xref:mq-faq.adoc[Anypoint MQ FAQ] for the regions where Anypoint MQ is available. + +Use a `curl` command like the following to create a FIFO exchange: + +[source,bash,linenums] +---- +curl -X PUT "https://anypoint.mulesoft.com/mq/admin/api/v1/organizations//environments//regions//destinations/exchanges/" \ +--header 'Content-Type: application/json' \ +--header 'Authorization: bearer ' \ +--data-raw '{ + "encrypted" : false, + "fifo" : true +}' +---- + +The response includes output such as: + +[source,json,linenums] +---- + +---- + [[routing-rules-api]] === Create or Change Message Routing Rules From fe60f68d160e3b25578314bb30100cfb2b101652 Mon Sep 17 00:00:00 2001 From: Hanna Nelson Date: Tue, 3 Dec 2024 11:32:27 -0800 Subject: [PATCH 3/5] in case we don't have example output --- modules/ROOT/pages/mq-apis.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/mq-apis.adoc b/modules/ROOT/pages/mq-apis.adoc index 0133a514..4ff4bb03 100644 --- a/modules/ROOT/pages/mq-apis.adoc +++ b/modules/ROOT/pages/mq-apis.adoc @@ -335,13 +335,14 @@ curl -X PUT "https://anypoint.mulesoft.com/mq/admin/api/v1/organizations/ ---- - +//// [[routing-rules-api]] === Create or Change Message Routing Rules From d2164c4d19403aa72d188eb9272a53887b54b69d Mon Sep 17 00:00:00 2001 From: Hanna Nelson Date: Mon, 16 Dec 2024 17:34:41 -0800 Subject: [PATCH 4/5] Update modules/ROOT/pages/mq-apis.adoc --- modules/ROOT/pages/mq-apis.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/mq-apis.adoc b/modules/ROOT/pages/mq-apis.adoc index 4ff4bb03..47247e29 100644 --- a/modules/ROOT/pages/mq-apis.adoc +++ b/modules/ROOT/pages/mq-apis.adoc @@ -322,7 +322,7 @@ You can create a FIFO exchange using the Anypoint MQ Admin API by including `"fi The organization from which you use the Administration portal must have an Anypoint MQ FIFO entitlement. See xref:mq-faq.adoc[Anypoint MQ FAQ] for the regions where Anypoint MQ is available. -Use a `curl` command like the following to create a FIFO exchange: +Use a `curl` command like this to create a FIFO exchange: [source,bash,linenums] ---- From e800ce2b356c3e650752583a583d34c60ff87d1b Mon Sep 17 00:00:00 2001 From: Hanna Nelson Date: Tue, 17 Dec 2024 16:09:33 -0800 Subject: [PATCH 5/5] Copyedit with writer --- modules/ROOT/pages/mq-apis.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/mq-apis.adoc b/modules/ROOT/pages/mq-apis.adoc index 47247e29..2c432aed 100644 --- a/modules/ROOT/pages/mq-apis.adoc +++ b/modules/ROOT/pages/mq-apis.adoc @@ -12,7 +12,7 @@ Anypoint MQ APIs are available in the https://anypoint.mulesoft.com/exchange/por == Workflow for an API -This example illustrates the workflow for accessing the Anypoint MQ Broker API: +This example shows the workflow for accessing the Anypoint MQ Broker API: image::mq-api-workflow.png["Workflow of the Anypoint MQ Broker API"]